Few areas of IT have been as dramatically reinvented as applications development and testing, which has seen development trends move from thick to thin clients, and now back toward the thick side of the continuum with the expectation of rich media information and graphical user interfaces (GUIs) on the part of end users. End-user devices have also changed -- with some mobile devices carrying hard drives with as much as 32 gigabytes of storage and an abundance of rich media applications straight from the store.
All of this gives applications development architects a lot to think about. From the overall enterprise standpoint, the questions that must be answered include: How many users the application supports, and whether these users are internal, remote, or both What the application processing requirements are How important a rich user interface is to applications, as well as access to rich media on a daily basis Maintenance planning for the application, along with how often the application will require updates Whether offline capability from the device will be required What the overall impact of the application will be on your existing application architecture
Answering these questions helps set the direction of your application development approach so that it aligns well with the business. For example, if the goal is to eliminate keystrokes for medical technicians and doctors in hospitals by using point-and-click GUIs, unless your application is entirely Web- or cloud-based, local processing capability has to reside on the end device. If you keep your master price list database internally, but don’t want your field sales force limited if this database becomes unavailable, you have to maintain enough storage and processing on field end-devices so salespeople can function with local editions of price lists. On the other hand, if you don’t want your remote offices racing off to tech stores for the latest versions of spreadsheet, word processing, security, or email software, your strategy must be centralized control at either headquarters or at a cloud services provider so that version control, debugging, etc., is done uniformly, ensuring that everyone’s software stays at the same level. This approach favors thin client computing.
The application development model that many enterprises are moving to is “rich client” computing, which includes characteristics of both thin and thick client computing. Architecturally, this means that there is a migration away from client/server to Web-based computing. Application development focuses on the creation of reusable Web services that allow these rich clients to interact with databases, business rule sets, common programming routines, etc., over the Web -- but that still allow for local processing and control of baseline applications (like word processing or price lists) on the end devices themselves. From a disaster recovery standpoint, it’s the best of both worlds. It allows IT to resolve issues internally during a time of disaster, while it concurrently allows users to continue to work with local applications.
Regardless of the shape this new generation of “smart, rich client” computing takes, there are some general design principles that will remain in place for applications. The first is to code in a way that the presentation portion of the application is separate from the body of the work that the application performs. Equally important is to develop as many pieces of reusable code objects (in the form of Web services) that you possibly can -- and to embed security and other rule sets in these objects in addition to the code that executes the business. This simplifies maintenance of end-to-end applications, whether they are being requested by thin, thick, or in-between clients. Most significantly, the approach allows application architects to develop schemes for applications that have the ability to evolve within their frameworks as they keep pace with the relentless pace of technology changes from smartphones and other end devices.
For more information, see:
From Cost Center to Strategic Asset
Dell Advanced Infrastructure Manager
Application Integration and Optimization

 | 





|