Services - technology
If you were planning to construct a building, would you just go out and buy steel beams, rivets, concrete, two-by-fours and nails, and then hire a contractor to put it all together? No, you would meet with an architect, who would plan and visualize the building from floor plans to the layout of the rooms on each floor. With software development you have a similar situation: You need a blueprint for your overall system and its applications. Moreover, with software development, what you build today will be added on to tomorrow - and again the day after that; and future needs may be entirely new and different. So your solution needs to be nimble and ready to react.
Modern web applications are bigger and more complex than ever before, far more than just plain vanilla web sites with some static HTML files:
- Data from your web application may syndicate as RSS or Atom feeds to outside resources
- You need to seamlessly integrate data from third-party sources
- Leverage existing servers and services within your organization
- Support emerging technologies like mobile access and social networking
- Use rich media and AJAX to provide a usable and highly responsive web user interface
Acsys will work with you to create a clear picture of the technical architecture for your solution.
System & application architecture
Once your business needs are documented and well understood, we can begin designing and mapping out all the pieces involved. Although it depends on the level of complexity required, these will likely involve:
- Web servers, such as IIS or Apache for hosting and running web sites and web services
- Application servers, such as IIS, WebSphere or Apache Tomcat for hosting web applications
- Windows services
- Message queues
- Integration servers
- Database servers, such as Microsoft SQL Server, Oracle or DB2
- Authorization servers running LDAP or Active Directory
- Network load-balancing hardware
With respect to application architecture, our practice is to employ well-known design patterns and object-oriented design to structure and organize the code. You may overhear our developers mention phrases like "dependency injection," "design by contract," "separation of concerns" and "test driven design," etc. as we analyze your situation.
Our goal is to meet your business needs using proven development practices, so that you have a solid foundation on which to continue building and expanding your online presence.
Database architecture
Today's professionally created web sites look great, but the ones that actually provide users functionality and useful information are database driven. For example, if someone is researching a medical condition, checking their company email or schedule, or just looking for a new pair of shoes, the web site has a database at its core.
Microsoft SQL Server, Oracle, DB2, MySQL, PostgreSQL... It's a confusing soup of database technology. Which one is right for your web site? How do you go about developing custom server applications to best serve your company's IT needs and integrate with your existing back end systems? That's where Acsys Interactive comes in.
- How do you know your site is running as fast as it can?
- Have the developers tuned their queries?
- Did the system folks set up the SAN for optimal database performance?
- Has database encryption been used effectively? Implemented improperly, encryption can greatly affect system performance.
- Is the database server being monitored so that any issues may be addressed before they affect your site?
- Is database virtualization right for you?
A well thought out architecture is a requirement for building a foundation that will yield benefits for scalability and separation of concerns, as well as long-term maintenance.
When developing an ASP.NET data-driven application, the Entity Framework is a superb choice because it:
- Allows the developers to create a conceptual model of the raw data, which doesn't necessarily match the relational schema of the database, thus overcoming object-relational impedance mismatch, a common challenge with relational databases.
- Handles persistence of changes in memory and final commits to the database using built-in methods.
- Helps to insulate the application from nominal changes to the underlying data structure.
- Exposes data as typed objects and properties - instead of requiring the developer to interact with rows and columns, as in a traditional ADO.NET application.
- Handles optimistic concurrency by stepping through all the changes about to be committed and ensuring that there are no conflicts between the state of the object prior to making any updates and the current state of the database.
In today's fast-paced and competitive business environment, database architecture and solutions are too critical to leave to chance. Trust the professionals at Acsys Interactive to use the appropriate database technologies to support your data-driven web sites and applications.
Service oriented architecture
In Internet-connected applications, Service Oriented Architecture (SOA) facilitates communication among independent applications, consumers and providers. What this means is that, when you need to send data to more than one consumer, SOA comes to the rescue.
- Need to connect a data repository to an AJAX consumer? A call-returning JSON would suffice.
- Need to connect business logic engine output to a Flash browser object? Sounds like a need for AMF.
- Need to way to upload a complex hierarchical dataset to a relational database? SOAP-based web services will do the trick.
Upload, download or bi-directional, synchronously or asynchronously, web service calls or RESTful designs, Acsys can do it. We'll help you decide on the best technology to use for your situation, create one for you or leverage to your existing architecture and systems.
Web application security
Web Application Security is often the most overlooked part of development; however, it can cause the biggest headaches.
Web security isn't just for banks, eCommerce sites and investment companies.
Does your site have a standard "Send to a friend" feature? That feature could be used by a hacker to send out spam, using YOUR equipment, bandwidth and, most importantly, good name. He will continue to use it until your site ends up on every blacklist in the country or he's locked out. By that time, most people will not trust email coming from your site - or, even worse, won't trust your company at all.
Does your site have a "Contact us" form? With a few well-placed punctuation marks, and a series of seemingly meaningless letters and numbers, submitted to that form, your site is now downloading viruses and spyware to the computers of anybody visiting your site. Imagine what this could do to your reputation.
We can help...
Hackers, crackers and black hats live and breathe this stuff. They know the potential weaknesses of an application before it's even been written. We know these potential weaknesses, too - and can make sure they pose no threat to your site and your company.
Understanding the nature of web applications is the key. You're not going to be able to prevent a cross-site scripting attack without proper validation; nor would you prevent all cross-site request forgery attempts without a good understanding of session identifier tokens.
Even with understanding, implementation can take time⦠or libraries which have been built and tested over time and which may be used to help cover any gap that may exist.
Want to learn more?
Find out how Acsys can help you get the most out of technology.
Set-up a free 30-minute tech assessment now.
Thank you for considering Acsys.