BizTalk Utilities CV ,   Jobs ,   Code library  
 
 

Washington, September 15-18, 1999 – London, November 21-24, 1999

Web-enabling the Enterprise

Craig McQueen

Enterprise – set of software systems and technologies used for the business operations of an organization

Introduction

Enterprise Web applications are not usually built from scratch. Often an information technology infrastructure is in place to build upon. A successful design and implementation of enterprise web applications considers and integrates the existing IT structure. Specifically, try to achieve the following goals when building a web application:

Ø        Build and deploy applications quickly

Ø        Leverage existing technology investment

Ø        Leverage existing employee skill set

Ø        Maintain clear distinction of responsibilities

Ø        Build applications that can scale

The key to achieving these goals is to work with a proven framework and tools. Window DNA is a framework for building web applications that integrate enterprise systems.

Craig McQueen
Craig is a Principal Consultant at Sage Information Consultants, Inc. His role at Sage is to assist clients in adopting Internet technologies into their existing businesses. Recently, he built the middle-tier for an online banking application. He has participated with Wrox on many projects, including XML Applications and Professional Site Server. He has presented at many conferences and seminars - most recently, a seminar Bringing the Digital Nervous System To Life (a co-presentation with Simon Witts, General Manager of Microsoft Canada). Craig can be reached at cmcqueen@sageconsultants.com.

Windows DNA

As defined by Microsoft:

“Microsoft® Windows® Distributed interNet Applications Architecture (Windows DNA) is the application development model for the Windows platform. Windows DNA specifies how to: develop robust, scalable, distributed applications using the Windows platform; extend existing data and external applications to support the Internet; and support a wide range of client devices maximizing the reach of an application.”

Windows DNA provides an excellent platform for building web-based applications that leverage an existing Enterprise system. Windows DNA separates responsibilities into three tiers.

Ø        Presentation – the presentation tier contains the user interface services. Information is obtained and displayed from the user at this point and passed to the Business tier.

Ø        Business Logic – the business tier contains application-specific processing and business rules. The business rules ensure data obtained from the user can be correctly passed to the data tier. The business tier also obtains information from the data tier based on a user query and ensures it is presentable to the user in a usable form.

Ø        Data – the data tier is the persistent repository of application information. Microsoft’s Universal Data Access Strategy attempts to make access to the data tier common no matter what the back end store is.

Note that the business and data tier may support many different applications. Similarly, the Presentation tier may make use of many business services to create a single application.

Universal Data Access

Microsoft Universal Data Access is Microsoft’s strategy for providing access to relational or non-relational information (such as e-mail and file system stores) across the enterprise. It is a collection of components including ADO, Remote Data Service (RDS) OLE DB, and ODBC. The goal of the strategy is to provide high-performance data connectivity to all sources of data while maintaining a consistent programming interface. I highly recommend you visit the web site mentioned in the references to see what Microsoft has planned for today and the future: http://www.microsoft.com/data.

In terms of building a web-based application, the following diagram illustrates a common scenario.

Active Server Pages use ADO for data access. Either an ODBC driver or an OLE DB provider supports data access. Business rules are encapsulated in stored procedures. These stored procedures are the access point to the database. Many organizations already have the business rules and database in place - these organizations use client-server based architecture. Web enabling this infrastructure means removing the client and building a web-based interface on top of the existing business rules and database. This way technology is re-used and the day-to-day operations of the business are minimally impacted.

For this exercise, we are going to look at using this model for interacting with an IBM AS/400. The AS/400 line of servers can support between 350 to 8000 clients. Many companies run their enterprise using an AS/400. Example information and applications that run on the machine include accounts receivable, parts, service, and customer database. The three ways we are going to look at are:

Ø        IBM Client Access ODBC Driver

Ø        Microsoft SNA Server OLE DB Provider for AS/400 and VSAM

Ø        IBM Client Access OLE DB Provider for AS/400

IBM Client Access ODBC Driver

The IBM Client Access ODBC Driver is part of the IBM Client Access software. It provides access to files and stored procedures on an AS/400 using ODBC. Existing programs on the AS/400 can be wrapped as stored procedures and called using ODBC.

To configure the ODBC Driver you need to do the following:

Ø        Install Client Access

Ø        Configure a Client Access connection to your AS/400

Ø        In the Client Access installation directory type: CWBCFG /host hostname /s where ‘hostname’ is the name of your AS/400 on your TCP/IP network

Ø        Configure a System Data Source in the ODBC Administrator

The AS/400 can now be accessed just like any other ODBC data source. The reason you need to run the CWBCFG utility is to add Client Access configuration information for the .default user which permits IIS to find and use the configuration information.

A sample connection string for a DSN name AS400_DSN would then be:

objConnection.Open "Data Source=AS400_DSN;User ID=USERID;Password=PASSWORD"

Previous to version V4R4 of OS/400, you could not natively create a SQL stored procedure. Stored procedures are generated from existing programs such as RPG. With V4R4 you can create stored procedures natively with SQL. However, in this case you need to have an ILE C compiler.

While developing, you may run into the client hanging. The default error handling on an AS/400 expects operator intervention. So you end up with the situation where the client is waiting for the server to return and the server is waiting for someone to press a key. I recommend instead that the standard handling on the AS/400 be changed to return to the client and set a SQL Error.

The other situation you might run into when adapting existing programs is that the program expects a display to exist. With a web based application there is no display so again the client will hang.

When configuring the ODBC data source you specify the default library. You can specify multiple libraries. The first one listed is used as the default collection. In order to use a library, it must be specified in this list.

Microsoft SNA OLE DB Provider for AS/400 and VSAM

Microsoft SNA Server has an OLE DB Provider for AS/400 and VSAM as part of its client installation. In fact, when installing SNA client, you have the option of only installing the OLE DB provider portion. No special changes need to be made to SNA Server to enable the OLE DB Provider.

You have a few configuration choices if you use the SNA OLE DB Provider. You could put the SNA server and client on the same machine as the web server. In this case you save on hardware costs but suffer a performance hit. To scale, the first step is to move SNA Server to another machine. In this configuration you can have multiple web servers, each with SNA client installed, accessing the same SNA Server.

Once SNA Client is installed, you need to use the SNA OLE DB MMC to configure a data source. A sample connection string using the SNA OLE DB Provider is:

objConnection.Open "Provider=SNAOLEDB;User ID=USERID;Password=PASSWORD;Data Source=SAMPLE_SOURCE”

where SAMPLE_SOURCE is the data source configured in MMC.

The SNA OLE DB Provider has the following features:

Ø        Set attributes and a record description of a host file (column information)

Ø        Lock files and records

Ø        Record navigation

Ø        Seek to a record based on an index.

Ø        Change records in a file.

Ø        Insert new records and delete records in a file

You cannot obtain output parameters using this method. To retrieve data you need to rely on using temporary tables. I recommend you use QTMP. The temporary library only exists for the lifetime of a user session. It is automatically created when the user session starts and removed when it ends.

The ports you need to open for firewalls are 1477 and 1478. However, you may also need to open all the ports required to enable NT Authentication.

IBM Client Access OLE DB Provider for AS/400

This OLE DB Provider has the following features, which should cover almost anything you need to do:

Ø        Record level access to tables

Ø        SQL stored procedures and SQL statements

Ø        Data queues

Ø        Programs

Ø        CL commands

However, prior to Client Access Version 3 Release 2 Mod 0 (or above level) of OLE DB Provider, specifying a user name and password in the connection string causes an error. Not specifying it means that a login dialog box pops up when a connection is attempted to the AS/400. With V3R2M0 you can specify a username and password, however you have limited functionality. The release of V4R4 is supposed to provide full functionality and allow a username and password in the connection string.

Once you install IBM Client Access and configure a connection you can start using the OLE DB Provider. A sample connection string is:

objConnection.Open "Provider=IBMDA400;Data Source=SYSTEM_NAME"

SQL Server 7 Data Transformation Services

Data Transformation Service is a feature of SQL Server 7. With DTS you can import, export, and transform data between Microsoft® SQL Server™ and any OLE DB, ODBC, or text file format. You can schedule a DTS package to run periodically. As well, you can manipulate the data as it moves between the two data sources.

DTS is a valuable feature for building web-based applications. Some enterprise systems are scheduled to run batch jobs in the evenings, which means they may not be available. A web-based application usually needs to be available 24X7. Using DTS, data can be replicated to a SQL Server database thus enabling an application to run around the clock.

Introducing web-based interaction with an enterprise system can cause a performance hit to existing users. DTS replication of data means that the Internet load can be transferred to SQL Server, thus removing the impact on existing enterprise users.

Some Enterprise data may only be suitable for internal use. For instance abbreviations may have been used for product names in a database. DTS can massage the data as it is moved to SQL Server, thus making the data available for public use.

DCOM

Integrating with SAP

SAP claims to be the world’s largest enterprise software company. Many businesses rely on SAP for their business operations. This includes financials, human resources, manufacturing, and sales and distribution. The major value offered by SAP is the data schema and business rules to support the application.

By Web-enabling SAP companies leverage their existing technology investment. They can extend the reach of their business operations to their customers and partners. The result is a saving for everyone involved in the business pipeline.

DCOM Component Connector

The DCOM Component Connector is the bridge between the SAP business framework and Microsoft Windows Platform. The DCOM Component Connector is a web-based application that has a number of features of creating and maintaining the link between SAP and COM.

A developer can view the SAP Business Objects and Business APIs (BAPIs) stored in the SAP repository and create COM objects which have the same APIs. This way SAP business logic can be invoked by making methods calls on COM objects. These objects are not just COM objects - they are MTS-aware COM objects. This means they can participate in transactions with other MTS components.

The starting point of using the DCOM component connector is to define the SAP system you are operation with. To configure a link to SAP a ‘destination’ is set up.

Once a destination is configured, the DCOM component connector has an Object Builder, which is a wizard for creating COM components based on the business objects in the SAP repository.

Once created, the SAP object is created in ASP the same way as any other COM object.

<%

  Dim oRS                 ' ADODB.RecordSet

  Dim oSAPDataObj         ' SAPDemoObj.SAPDemoObj

  Set oSAPDemoObj =

       Server.CreateObject("RFCSampObj.RFCSampObj.1")

  oSAPDemoObj.Destination = "TEST"

  Call oSAPDemoObj.GetCustList( "*", "" , oRS )

 %>

All information returned from SAP is returned as ADO Recordsets. The code to access the data is just the any other ADO access (e.g. iterate through the records and the fields within each record).

Other Technologies

COM Transaction Integrator (COMTI)

COMTI is used to extend Microsoft Transaction Server (MTS) into the mainframe-based transaction processing, specifically Customer Information Control System (CICS) and Information Management System (IMS). It is shipped with SNA Server 4.0 and enables developers to create COM components that expose CICS and IMS transaction programs.

Message Queuing (MSMQ)

MSMQ is Microsoft’s message queuing product. It is a communications technology that enables applications on different systems to communicate with each other, even if systems and networks occasionally fail. MSMQ operates by enabling applications to communicate with each other through messages. MSMQ guarantees delivery of messages to applications even despite network and application failures.

You can interact with other systems using MSMQ. SNA Server 4.0 SP2 has MSMQ-MQSeries Bridge that allow interoperation with IBM's MQSeries.

XML

XML is starting to become the technology for interaction between different Enterprise systems. Microsoft has a BizTalk initiative, which is an XML framework for application integration and electronic commerce.

Another initiative, which has strong support from Sun and IBM, is XML.org. Their web page describes their purpose as the following:

“XML.ORG is designed to provide a credible source of accurate, timely information about the application of XML in industrial and commercial settings and to serve as a reference repository for specific XML standards such as vocabularies, DTDs, schemas, and namespaces.”

For more details about these and other initiatives see the presentation “Using XML for E-commerce”.


Resources

“Record-Level Access to Host Data” Technical Paper

http://www.microsoft.com/sna/guide/recordlevel.asp?A=2&B=6

IBM Client Access OLE DB Support

http://www.as400.ibm.com/clientaccess/oledb/

Configuring Client Access ODBC Driver to work with IIS

http://www.as400.ibm.com/clientaccess/iisodbc.htm

IBM Client Access ODBC Driver

http://www.as400.ibm.com/developer/client/odbc.html

Redbook – A Fast Path to AS/400 Client/Server Using AS/400 OLE DB Support

http://www.redbooks.ibm.com/abstracts/sg245183.html

Redbook – AS/400 Client Access Express for Windows: Implementing V4R4M0

http://www.redbooks.ibm.com/abstracts/sg245191.html

SAP DCOM Component Connector

COM section of http://www.sap.com/bapi

BizTalk Framework

http://www.biztalk.org/

XML.Org

http://www.xml.org/


 

Recent Jobs

A great opportunity to Digital Vide
here is a greate opportunity as a S
A great opportunity as a Network En
A Greate Opportunituy as a SQL Deve
An immediate job opportunity as a B

View all Jobs (Add yours)
View all CV (Add yours)



Host Department NOLIMIT Web Hosting
UK Dedicated Servers
reservationless conference calls
D&g sunglasses
Pennsylvania Pool Contractor
answering service
efax
swimming pool contractor
Teleconference
MSN
sunglasses


    Email TopXML  

Front Page Daily Stuff TopXML Forum XML blogs XML Newsgroups BizTalk Biztalk Utilities Biztalk Utilities Tutorial B2B SAP XML Microsoft .NET Dotnet System XML Soapformatter SQLXML XMLserializer XQuery PHP PHP SimpleXML PHP XML Dom PHP XML RPC PHP XSLT Java Java Java XML Xalan Microsoft ASP ASP Schemas XML SQL Server XML XMLDom XSL XSL Tutorial XSLT Stylesheets General Javascript CSS XHTML WAP