Understanding Service Frameworks

When dealing with Web services, or any service-level integration technology, you must understand the notion of service frameworks and how they differ from more traditional frameworks. This is the idea behind composite applications, which are applications made up mostly of back-end application services.

Service frameworks, in contrast to object frameworks, lack inheritance. Although they provide services, they generally don't provide access to the source code for the distributed objects, making it difficult though not impossible (depending on the tool or language) to modify or extend the behavior of distributed objects (e.g., Web services) and service frameworks for an application. As such, service frameworks are the best fit for most application integration problem domains. Distributed object frameworks, including Web services, provide the best example of service frameworks in that they allow applications to invoke application services that are encapsulated in centrally located distributed application services.

Distributed objects, such as those created around CORBA and COM, offer a common approach to create and deploy objects. CORBA-compliant distributed objects are sold through a number of third-party vendors. The Distributed Component Object Model (DCOM) comes with the infrastructure of the Windows operating system. The goal in addressing an integration problem domain is to create a set of distributed objects, using either technology, and then to access those objects either locally or remotely through a well-defined interface from the application that needs a service. For example, distributed objects are built into service frameworks to provide access to accounting functions, financial trading functions, database access functions, and so on. Distributed objects also provide the "plumbing" for easy access to objects that reside on network-connected computers.

As we have noted, object frameworks tend to be tool and language dependent. Distributed objects represent one of the best hopes for frameworks because they offer tool- and language-independent frameworks for applications. C++, PowerBuilder, Delphi, and Smalltalk applications can all access distributed object services.

The ability to mix and match components allows application integration architects to purchase expertise they may not already possess. For example, vertical-market component vendors from the petroleum, financial, and retail industries offer developers specialized functionality that requires little or no custom coding.

In contrast to object frameworks, service frameworks usually contain fewer features and functions than applications, but they provide more services than a simple program function or object (see Figure 4.6). In a number of respects, components are "retro." They adhere more to the modular program model of the past than to object-oriented development.

Figure 4.6. Service frameworks contain fewer features than object frameworks.

graphics/04fig06.gif

More Framework Types

Putting aside for now the different types of frameworks that exist, we can examine the three feature categories of frameworks: application service, domain, and support. These categories are consistent among the three framework types.

Application service frameworks, as mentioned in this chapter, encapsulate enterprise application functionality. They provide horizontal functionality across many application integration problem domains. Today most frameworks are examples of application service frameworks. These include the GUI frameworks that come with C++ development tools such as Microsoft Foundation Classes (MFC), Web services, and traditional distributed objects.

Domain frameworks encapsulate expertise for certain problem domains and provide vertical functionality for certain areas of the enterprise (e.g., accounting, marketing, or logistics). These frameworks build common application architectures into a common framework that is shared across applications.

Support frameworks offer native, system-oriented services such as network support, device access, or file access. These frameworks are typically platform dependent.



Next Generation Application Integration(c) From Simple Information to Web Services
Next Generation Application Integration: From Simple Information to Web Services
ISBN: 0201844567
EAN: 2147483647
Year: 2005
Pages: 220

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net