Appendix 1 a Survey Ofproducts
Total Page:16
File Type:pdf, Size:1020Kb
Appendix 1 A Survey ofProducts We provide here a brief survey of products, based on the classification provided in Chapter 2 in the topic "Technology Architecture". We focus on middleware, and "go out" into development environments where applicable. Then we look at systems management. Components of the technology architecture that are not specific to the distributed application are mentioned in passing. Middleware SQL -based Middleware Standards Provides the transport for SQL calls and calls to stored procedures from the client. There are two basic approaches: • Embedded SQL (ESQL). ISO standard for embedding SQL in programming languages. Needs a precompiler; needs to know the target database at development time. • Call-level interfaces: API (Application Programming Interface). Calling program executes SQL at run time; no precompiler needed. De jure standard: SQL Access Group (SAG) CLI. De facto standard: • Microsoft ODBC (Open Database Connectivity): SAG CLI with extensions; • IDBC (Java Database Connectivity) is an emerging contender. Product Examples Call-level interfaces: ODBC, IDBC • ODBC: a Microsoft product, it enables access to different databases. Provides a call-level interface to the application (client). Supports a number of the popular databases (provides standard SQL plus specific extensions). However, support for some advanced features such as event triggering, coordination between different databases and switching between different access methods is questionable. 217 218 Distributed Applications Engineering • JDBC: a set ofJava classes that allows the connection ofJava code to relational databases. It includes support to connect to databases, and provides SQL operations on the data and metadata. There are four types ofJDBC drivers: • Type 1: JDBC-ODBC bridge, translates JDBC to ODBC calls • Type 2: Java to native API, converts JDBC calls into client API calls for a given database • Type 3: net protocol- all Java driver: • Type 4: native protocol- all Java driver Gateways: EDAlSQL, Open Client + Omni SQL Gateway • EDAlSQL: A product from Information Builders; provides an integrated data model comprising of different physical databases, in addition to ODBC type capabilities. Part of a suite of products that also offer transaction and messaging services. • Open Client + Omni SQL Gateway: from Sybase; similar to EDAlSQL; it offers vendor and location transparency. Translates Transact SQL to the relevant SQL dialect. Other:DRDA • DRDA: an IBM product; designed for data transfers between different "heavy duty" databases at the back end. Complementary to others. Pros and Cons ofSOL -based Middleware • Essentially SQL, so it ties calling programs to the particular SQL dialect. • It presents a two-tier image, since the calls are built and passed on to the server. With procedural SQL, however, it is possible to include some application capabilities at the server side. Product Sets Using SOL -based Middleware Oracle Cooperative Development Environment 2 Product ArchComp Comments Oracle CASE Application Upper CASE (data and process modelling) plus code development generation (Forms, Reports, SOL) Oracle Forms Application Main application development tool; both client and development server. Blocks of code "triggered" by events and forms events PUSOL Application Procedural Language (Ada-like); it packages SOL development statements. Execution of a statement block: the stored procedure (at server) may be called, packaged and submitted across the network, or executed locally at the client sending a DB call over the wire. SQL*NetV2 Integration Supports TCP/IP, DECNet, LU6.2, SPXlIPX, etc. service Mechanism that supports communication between client and server application components. Appendix 1: A Survey of Products 219 Oracle Transparent Integration Access to other databases Gateways service Oracle Call-level Integration Allows access to 3GLs, DCE tools, etc. Interfaces and Service precompilers Objects for OLE Integration New interfacing technology, supporting service multithreading and access of mUltiple databases. Supports OLE, Active X Oracle 7 Information See databases Oracle 8 management Sybase System 10 Product ArchComp Comments Client Application No specific product. Through Open Client API, enables development development access to a variety of client development tools Transact-SQL Application Sybase's language for DB access and stored development procedures (e.g. of Oracle's PUSQL) Open client Integration Provides an API for a number of client development service tools/environments Omni SQL Integration Gateways to a variety of relational DBs; converts Gateway + Open service Transact SQL to SQL of target DB. Through Open server server, provides access to non-relational M/F sources (CiCS/IMS applications) Connection Systems Management of the administration and security of the Manager management DB gateways SQL Server 10 Information See databases management Informix New Era Product ArchComp Comments Window Painter, Application Offers an object-oriented component-based New Era language, development application development environment. It uses a Application Builder database application 00 language. Web enabled, it supports OLE, Active X and Java code generation Inform ix-Net Integration Similar to SQL * Net; connects to Informix database service Connections to other DBs possible through ODBC or EDNSQL Informix Dynamic Information See databases On-Line Server management RPC-Type Middleware Standards DCE (Distributed Computing Environment): Developed by OSF, a consortium of vendors, it has been implemented on a major vendor environment - HP, DEC, IBM, etc. DCE is a standard, as well as a product. 220 Distributed Applications Engineering Product Examples DCE consists of a set of services, some or all of which can be used: • communication service: RPC; • naming service; • directory service; • security service; • time service; • distributed file service. DCE is open, standards-based, robust, suitable for complex, mission-critical applications. However, it has not had the anticipated take-up, arguably because its API contains approximately 600 calls and is difficult to learn and use. Native DCE does not support transactions. If transaction processing is needed, it is necessary to use a distributed transaction processing monitor, e.g. Encina, on top of DCE. Increasingly, other distributed computing products are using DCE services in their infrastructure, e.g., IBM's OLTP (On Line Transaction Processing) system CICS/6000 and DFS Web (DCE-based WWW security). DTP Monitors Like other middleware, DTP monitors provide the "glue" for communication between clients and servers in a distributed environment; in addition, they provide transactional integrity, server optimization and balancing. Therefore, they are useful for heavy operational processing systems that need to operate in a distributed fashion. Standards XlOpen's XT (between application and transaction monitor) and distributed transaction coordination XA (between transaction monitor and database) Product Examples • AT & T's Top End: AT & T (NCR) transaction processing for UNIX environments; • IBM CICS/6000: DTP in all IBM, plus HP-UX and Digital Unix environments; • Tuxedo: Developed by AT&T, now marketed by BEA. In addition to Tuxedo, BEA provides a suite of different types of middleware products; • Encina: DTP environment; flexible and feature rich. It is also complex; runs on top ofDCE; • ACMSxp: from Digital. An evolution from ACMS TP, it runs on top of DCE. It provides COBOL and C development platforms. DTP Monitors: Pros and Cons • Except perhaps for Encina, they offer an easier alternative to DCE for communication between distributed c1ients and servers. • Ensure transactional integrity, and offer access, location, and concurrency transparency. Appendix 1: A Survey of Products 221 • Support transactions in heterogeneous databases and two-phase commit protocol. • Offer program-to-program services, such as access and location, data representation, RPC, client/server connections. • Require APIs to client and server environments. Therefore, they usually work with a limited number platforms and products. • Good choice for heavy Transaction Processing environments and where transaction integrity and recovery are paramount. Object Brokers Standards • OMG (Object Management Group) CORBA: CORBA (Common Object Request Broker Architecture) is a standards specification by OMG, that specifies how distributed objects can work together. Unlike OSF's DCE, OMG did not develop technology, but left the implementation to vendors adhering to the standard. • CORBA 1.1 (1991): IDL and APIs for client and server objects within a specific ORB (Object Request Broker) implementation. Also, provision of static and dynamic invocation of remote methods. • CORBA 2.0 (1995): The CORBA 2.0 specification includes a mandatory protocol, Internet Inter-ORB Protocol (HOP), which is designed to enable objects and applications to interoperate over a network with other OMG CORBA 2.0 applications. It also includes support for languages other than C, asynchronous messaging, transactions, and interfaces to products such as Tuxedo, Encina, etc. Product Examples • Forte: Forte is an object-oriented development environment that automates the deployment of an application into a specific distributed environment. In the process, Forte partitions the application into desktop components and a set of server components, each of which can be re used by multiple applications. It is possible to manually override the default