What are the advantages of the Microsoft .NET platform?
You may have heard about Microsoft's new .NET platform. If so, there's a
good chance that you are a bit perplexed as to what it is and what it can do for
you.
.NET is actually a broad set of technologies. At its core is a set of common
services for all types of software development. These services offer things like
automatic memory management (thus avoiding dreaded memory leaks) and an
excellent security model. Built on top of these common services are
revolutionary new ways to develop a broad spectrum of applications, including
Windows applications, Web applications, and Web services. Here are the .NET
advantages that aided the most in the development of Aquifer.
Sophisticated web applications
Up until now, it has been extremely difficult to develop rich, complex
applications for the web. The main reason for this is that fundamentally, the web
is stateless. If there was truly no way to maintain state information, it would mean
that when you are navigating the web, each page would have no idea what happened
on previous pages. Obviously, designing an application around a particular
workflow would be impossible. Several techniques have evolved over
the years that can give web pages state information, such as passing parameters in
the site's URL, cookies, server-side databases, client-side scripting, Java and a
Microsoft technology called ASP (meaning active server pages, not application
server provider, the more common use of the acronym). Nonetheless, keeping
state information was always burdensome, and many tasks that would be trivial in
a regular Windows application were surprisingly complicated in a web
application.
Another big problem is that because a web application's content and business logic were all delivered in a single HTML file, it
made using object oriented and n-tier development
architectures extremely difficult. These architectures are essential in the
construction of complex yet maintainable applications. Thus, most healthcare
companies decided (correctly) that they could not acceptably reproduce their
flagship product's functionality in a native web application, and relegated web
development projects to niche duties, or to supply a basic front end to their
legacy applications.
However, .NET changes the equation. It has a vastly improved version of ASP,
dubbed ASP.NET. ASP.NET has sophisticated, easy to employ, state management. It also allows the
business logic, content and presentation components of the application to be
separated. With ASP.NET, developing a complex application for the
web is not significantly more difficult than developing a traditional
client/server application.
Scalable, reliable, XML-aware data access
The .NET platform contains a new data access technology called
ADO.NET.
ADO.NET allows highly scalable database interaction because it heavily makes use
of what is termed a disconnected paradigm. This means it fetches data in
an organized data structure called a dataset and can then disconnect because
sophisticated data manipulation is allowed directly in ADO.NET. Only when it is
necessary to update the data back to the database does a connection need to be
reestablished. This enormously improves the availability of your database
server.
Another big feature of ADO.NET is that is can automatically convert data in
datasets to and from extensible markup language (XML), the emerging standard for
electronic data communications. This makes it incredibly easy to support XML communications
with other applications. Because the next major version of HL7 (v3.0) will be a
subset of HL7, this should greatly promote the straightforward interfacing of
healthcare applications.
Web Services
Web services have received much attention in the last two
years. A web service
is a service that runs securely on the web that takes input and sends output in
the form of HTML and/or XML. Web services allow disparate systems to be integrated
regardless of what platform they run on and their geographic
location. Web services can greatly empower the application service provider
model. Previously, major technical and security problems were introduced if an
application that was ASP-hosted needed to communicate with an application that
wasn't. Click here to read more
about how web services are used to resolve this issue.
Because web services make it easy for completely different systems to talk to
each other, a world of new functionality should be opened up. For instance, if a
web service existed for giving a competitive price list for medications, an
Aquifer add-on could be established where with a single click, a user can find
the best prices for all of their medications. Or, if a doctor registry web
service was established, Aquifer could use this to, with a single click, find a
nearby doctor that specialized in the patient's particular condition.
|