Implementing UAN on BizTalk Server 2004 to Integrate Siebel and SAP
Anthony T. Mann, President, Inc Press
Inc. Press is an imprint of the Mann Publishing Group
Applies to: Microsoft BizTalk Server 2004, Siebel Universal Application Network (UAN) 2.0, SAP R/3
Summary: This paper presents the concepts behind Siebel UAN and discusses the details of how BizTalk Server 2004 orchestrates the integration between the Siebel CRM application and SAP R/3 to create an order by using the CME_ProcessOrder business process. (12 printed pages)
On October 7, 2003, Microsoft presented a demonstration at Siebel User Week in San Diego, California. The demonstration, jointly developed by Microsoft and Licensed To Code (available herehttp://go.microsoft.com/fwlink/?LinkId=25028), showed how the Microsoft implementation of Siebel Universal Application Network (UAN) 2.0 on Microsoft BizTalk Server 2004 could be used to integrate the Siebel CRM application with the SAP R/3 Enterprise system.
While Siebel UAN 2.0 for Microsoft contains many business processes out of the box, the demonstration showed only one specific business process, called CME_ProcessOrder, in which an order was placed in Siebel 7.5 and was routed through BizTalk Server 2004 to SAP R/3, where the order was created and an order number was returned through the same process. In UAN 2.0, SAP R/3 is not supported directly, so custom code was developed to integrate BizTalk Server with SAP. The plan is to natively include support for SAP R/3 in UAN 3.0 for Microsoft.
This paper assumes that if you intend to implement UAN on BizTalk Server to integrate Siebel and SAP, you have installed the following (or later) versions of software:
Microsoft BizTalk Server 2004
Microsoft Visual Studio .NET 2003
SAP R/3 Enterprise Internet Demonstration and Evaluation System (IDES)
SAP .NET Connector
Siebel UAN 2.0 for Microsoft
Before diving into the details of the solution presented at Siebel User Week in 2003, it is important that you understand some basic concepts used in the solution. The following sections provide an overview of the major features of UAN, BizTalk Server 2004, Siebel 7.5, and SAP R/3.
This paper includes several new acronyms that relate to UAN. The following list defines these terms:
UAN (Universal Application Network). A set of specifications developed by Siebel Systems (these specifications are apart from the Siebel CRM application) to define a baseline of "best-of-breed" business processes for specific industries.
IBP (integrated business process). A preconfigured business process, such as placing an order or updating contact information, that is completely application-agnostic. The process is needed to perform specific business functions, regardless of the applications being integrated or the integration server that is brokering message requests.
ASI (application service interface). The interface (or schema definition) for a business process as the entry point into and exit point out of the integration server. This is the specification that exposes itself to the outside world from the point of view of the integration server. An ASI is similar to an adapter, which is written to communicate with a specific interface.
CSI (common service interface). The interface between specific business processes inside the integration server and the common object model. After a message is received into the integration server by using the ASI interface, the business process is orchestrated in BizTalk Server 2004 to translate into a common message format using CSI as a specification.
ASF (adapter simulation flow). Logical code that controls the business flow within a specific IBP.
Integration of enterprise applications remains the primary challenge in information technology (IT) today. If you have tried to integrate disparate systems, you have found that it is not easy. Much of the difficulty in integrating computer systems is not in coding the solution—it is in defining the problem. It seems that the problem is simple: You need to integrate two disparate systems so that your company can automate end-to-end business processes. But if you are going to be integrating Siebel to SAP, and SAP back to Siebel, you need to define both sets of interfaces between the two systems. That is a more complex problem than simply integrating two systems.
Siebel UAN helps with integration tasks by predefining the end-to-end business processes for typical functions that all businesses need, such as:
Processing orders and line items
Creating and updating customer records
Creating and updating products
Businesses can no longer afford to build isolated databases. They need to integrate systems to provide a company-wide view of data and empower users to make better business decisions, while keeping the total cost of ownership (TCO) as low as possible. While you can integrate multiple systems without UAN, Siebel helps to lower TCO by doing much of the integration work for you and by defining common business scenarios and their integration points.
UAN is a product specification from Siebel that many vendors implement in their integration servers, such as Microsoft BizTalk Server, to integrate applications based on business processes. The UAN specification outlines very specific business processes that are needed for a given vertical industry or market segment. UAN is supported in the following industries and market segments:
Communications, media, and energy
Customer lifecycle management
Product and catalog management
Customer order management
Partner relationship management
|On the Microsoft platform for UAN 2.0, only the communications, media, and energy (CME) industries are supported at the time of this writing.|
How UAN Works
Suppose two people want to communicate with each other, but one knows only French and English and the other knows only German and English. It would not make sense for these people to communicate in either German or French. They must use their common language to communicate effectively. That is exactly the idea behind integration with UAN. Siebel can communicate with SAP, but not directly. First, the language, or message, must be translated into a common language. In fact, any application can communicate with any other application as long as the messages are first translated into a common language, and the applications use an integration server such as Microsoft BizTalk Server.
UAN is defined by a set of XML schemas that must be implemented for each UAN integrated business process (IBP). The XML schemas consist of inbound and outbound sets of specifications to account for all integration points between the applications.
Microsoft BizTalk Server dramatically lowers the total cost of ownership (TCO), implementation efforts, and costs associated with integrating multiple disparate applications. BizTalk Server enables you to integrate enterprise applications by providing the conversion of message-based data from any format to any format. Using BizTalk Server can reduce implementation risk, saving time and money.
BizTalk Server provides the following key benefits of integration:
Document transport. Guarantees the delivery of documents from the source to the destination using the desired transport protocol.
Data transformation. Allows fields in a message to be mapped between the source and destination messages, and provides for transforming the field values along the way. Transformation includes activities such as concatenation, parsing, remote lookups, and other actions that affect the destination message.
Application integration. Integrates applications by adapting external processes and applications through the use of BizTalk adapters.
Process automation. Automates the business processes needed to conform to business rules set forth by an organization. Process automation is altered easily when business rules must change to help ensure a low TCO.
Scalability. Allows the server to be scaled up (by adding more system resources) or scaled out (by adding more servers). If more processing power is required, scalability enables you to rapidly implement the new resources without having to recode your application or redefine business processes.
BizTalk Server 2004 is the latest incarnation of Microsoft's award-winning integration server. There are many important new features of BizTalk Server 2004. Some of the major features are:
Integration with Microsoft Visual Studio .NET 2003. All orchestrations, mappings, and schema definitions are created inside the Visual Studio .NET 2003 environment. All business processes are compiled into .NET assemblies so that they can take full advantage of features of the Microsoft .NET Framework, such as inheritance and more than 600 base classes that you can use out of the box. Compiled .NET assemblies are deployed into the BizTalk Configuration database to allow for efficient code reuse.
Web service integration. All XML Web services technologies—such as Web Services Description Language (WSDL) and Universal Description, Discovery, and Integration (UDDI)—are fully supported by BizTalk Server 2004.
Business Rule Engine. BizTalk Server 2004 supports a powerful business rule engine that enables you to dynamically change your business processes to reduce development time.
Business Process Execution Language (BPEL). This standard XML-based syntax provides for cross-platform, interoperable processes in your BizTalk orchestrations. BPEL is supported in version 3.0 of Siebel UAN.
Prior to version 2004, BizTalk Server was the fastest-growing integration server on the market. With the new features and functionality built into BizTalk Server 2004 and the ability to support Siebel UAN, BizTalk Server is positioned to meet many more enterprise needs than ever before.
BizTalk Server 2004 was released as a beta version on June 4, 2003. Although this beta version included many of the new features of the final product, it did not support Siebel UAN. More than 300 adapters are available for BizTalk Server 2002, including a Siebel adapter. However, this adapter does not support UAN either. To support UAN, Microsoft released an Early Adopter Program (EAP) version of BizTalk Server 2004, which contained additional functionality needed to support UAN.
Visual Studio .NET 2003 Integration
BizTalk Server 2004 fully supports Visual Studio .NET 2003. Software developers no longer have to learn a new development environment to implement BizTalk Server solutions; they can use the same one they already are comfortable with for developing Win32-based applications, Web applications, Web services, and components. Although these projects contain different attributes from other types of projects, they are developed by using a familiar environment. The result is shorter learning curves and higher productivity.
Among the transports that BizTalk Server 2004 supports are HTTP and XML Web services. To use HTTP, BizTalk Server 2004 integrates with Internet Information Services (IIS). For BizTalk Server 2004 to work with IIS, a custom HTTP handler called BTSHTTPReceive.dll is included on the BizTalk Server 2004 installation CD. This DLL uses the HTTP or HTTPS protocol to intercept message posts that are made to the Web server, and then facilitates the marshalling of those messages to BizTalk Server 2004.
Siebel 7.5 is the leading customer relationship management (CRM) and employee relationship management (ERM) software on the market today. Many of the world's largest companies use Siebel software to reach customers effectively and to target sales and marketing efforts to those customers.
Using Siebel browser-based technology, users experience rich functionality in a well-designed user interface. Users are empowered to address the following major areas of their businesses:
Siebel 7.5 also includes support for forecasting, business analytics, and industry-specific business processes. These industry-specific processes give you best-practices functionality out of the box, which is the foundation for connecting Siebel to UAN. Siebel supports standard Web-based technologies, such as HTML, XML, and Web services, for integration.
Siebel connects to UAN 2.0 for Microsoft by configuring the Siebel internal business processes to package an XML payload message containing pertinent data and send it by using an HTTP Post message. BizTalk Server 2004 receives this HTTP Post message by trapping it with an Internet Server API (ISAPI) extension in IIS, and then the message is processed inside BizTalk Server 2004.
SAP is the world leader in Enterprise Resource Planning (ERP) software that runs many of the world's largest businesses. SAP is a suite of e-business modules that work together to solve the most critical business solutions, including CRM, Supply Chain Management, Financials, and Supplier Relationship Management.
SAP R/3 also includes the Internet Demonstration and Evaluation System (IDES). IDES is similar to the Northwind database that is delivered with Microsoft SQL Server and Microsoft Access, but it is far more comprehensive. It is built to simulate a large corporate system with many different companies worldwide and a wide range of products and industry practices. It has many of the SAP R/3 packages—such as Sales and Distribution (SD), Materials Management (MM), Human Resources (HR), Financial Accounting (FI), and Controlling (CO)—preconfigured for demonstration and training purposes.
Siebel distributes UAN 2.0 for Microsoft as a single CD that includes an installation program. The installation program installs all UAN schema files (XSD), Visual Studio .NET source code, and compiled .NET assemblies. After you install UAN, you decide which integrated business processes (IBPs) contained in the installation apply to your organization. Then you deploy only those IBPs to your testing and production BizTalk Servers.
Installation of UAN is very simple. The UAN 2.0 for Microsoft installation CD from Siebel contains a setup program that guides you through the process of installing the UAN files. We recommend that you install UAN on a workstation that has BizTalk Server 2004 Developer Edition installed. This will enable you to create and edit any BizTalk Server project without affecting your testing and production environments. The UAN installation contains BizTalk Server 2004 projects that can be edited with Visual Studio .NET 2003. These projects contain all mappings, schemas, and orchestrations.
You can find more information about installing UAN in the guide from Siebel titled IMPLEMENTATION AND CONFIGURATION GUIDE: UNIVERSAL APPLICATION NETWORK VOLUME 2 (VERSION UAN 2.0 MICROSOFT), which was released in December 2003.
Before you can begin implementing UAN solutions, you must populate the BizTalk Server 2004 configuration database with "seed data." Seed data is the term used for populating cross-reference tables within your BizTalk Server database. UAN uses these cross-reference tables when translating messages to and from the common format. After you install Siebel UAN, seed data is installed as a set of XML files. You must populate the database with the seed data files by using a UAN 2.0 for Microsoft utility called BTSXRefImport.exe. The population of cross-reference tables is a one-time configuration.
Configuring BizTalk Server 2004
No specific BizTalk Server configuration is necessary to implement any of the IBPs contained in the UAN 2.0 for Microsoft installation. All areas that can be construed as "configuration" are automatically adjusted as part of the deployment of UAN onto your computers that run BizTalk Server after installation.
Configuring Siebel 7.5
Before Siebel 7.5 can interact with UAN 2.0 for Microsoft, the business workflow must be configured. To enable this functionality for the demonstration, the following two separate Siebel workflows had to be configured to enable sending orders to BizTalk Server:
SIS OM Submit Order Process. This workflow wraps the outbound order header and order line items that are created in Siebel into an internal Siebel message. The Siebel message is then converted to XML, which is written to a text file stored on the server. The XML message is posted by using an HTTP Post message. The following figure shows the Siebel workflow to submit the newly created order from Siebel to BizTalk Server.
Figure 1 Outbound Siebel workflow
SIA UAN Update Order Line. This workflow accepts the inbound XML message coming from BizTalk Server and writes it to a text file on the server's hard disk. Siebel takes the XML file and converts it to an internal Siebel message that contains the order status line update information. The order record is updated inside Siebel by using the internal Siebel message. The following figure shows the Siebel workflow to receive order status and line item data from BizTalk Server to Siebel.
Figure 2 Inbound Siebel workflow
Configuring SAP R/3
To facilitate the demonstration at Siebel User Week, the Internet Demonstration and Evaluation System (IDES) from SAP was used. Using IDES meant that very little configuration was necessary inside SAP. The only additional configuration items were:
Creating a customer for which the orders are created from Siebel. This customer was defined in the North America Sales territory.
Creating HP Server products in the sales catalog and defining pricing for those products within the North America Sales territory.
The Siebel Universal Application Network (UAN) is a set of specifications for integrating applications based on the business process that a company needs—not on the specific applications the company is trying to integrate. The specific business processes supported in UAN are individually known as integrated business processes (IBPs). The advantage of a specification being based on a business process and being application-agnostic is that a company can "plug and play" integration servers if it chooses to do so. The specification for the business process does not change.
On the other hand, there are specific details related to the implementation of the business process specifications on a given integration server platform. Microsoft's implementation of UAN results in a specification called UAN 2.0 for Microsoft. UAN 2.0 for Microsoft takes the UAN 2.0 specification from Siebel and implements it on Microsoft BizTalk Server 2004. Furthermore, the UAN 2.0 for Microsoft specification focuses on business processes that are specific to the vertical industries known as communications, media, and energy (CME).
The UAN 2.0 for Microsoft specification includes the following 12 IBPs:
CME_QueryInvoiceDetail. Specifications for querying the details of the invoice associated with an order.
CME_SyncInvoiceHeader. Specifications for synchronizing the header information of the invoice associated with an order.
CME_CreateAccount. Specifications for creating a user account.
CME_RequestAccount. Specifications for requesting information about a user account.
CME_RequestAccountValidation. Specifications for validating account information for a user.
*CME_ProcessOrder. Specifications for processing an order.
*CME_ProcessService. Specifications for processing the service content within an order, such as specific line-item products that need to be delivered to a customer.
CME_ProcessBillingOrder. Specifications for processing the billing for an order.
*CME_UpdateOrderLineItem. Specifications for updating an order with corresponding information regarding each individual line item that was ordered.
CME_CreateProduct. Specifications for creating a product in the product catalog.
CME_UpdateProduct. Specifications for updating a product in the product catalog.
SyncContact. Specifications for synchronizing contact information.
|The IBPs preceded by an asterisk (*) are discussed in this paper as part of the demonstration for Siebel User Week in 2003.|
How the CME_ProcessOrder Solution Works
It is important to gain a high-level understanding of how the solution works for the CME_ProcessOrder IBP before reading the rest of this paper. The CME_ProcessOrder IBP calls the CME_ProcessService and CME_UpdateOrderLineItem IBPs in turn. The following figure shows a block diagram of how messages are passed between the systems.
Figure 3 ProcessOrder IBP message flow
These are the steps in the message flow shown in the preceding figure:
An order is created from within the Siebel application.
The order is transmitted by using an HTTP Post message to the specific receive location and port of the BizTalk Server that is configured to receive messages from this IBP.
The UAN 2.0 implementation on BizTalk Server processes the message and sends it to SAP through a Web service. The Web service wraps the SAP Business Application Programming Interface (BAPI) to create an order in the system.
SAP receives the request to create an order, creates it, and generates a unique order number.
SAP transmits the order number back to BizTalk Server through the return parameter of the BAPI call.
BizTalk Server processes the message containing the order number and sends it back to Siebel through an HTTP Post message so that the order number field and order status information can be updated within Siebel.
Siebel receives the order number from BizTalk Server and updates the order number field for the order. Siebel stores this SAP order number within the order header information. The corresponding order header and order line item processing status is changed to "Processed," indicating that it was received by the back-end SAP system for fulfillment.
The following sections describe these high-level steps in more detail.
Creating an Order in Siebel
Creating an order in Siebel is straightforward. After you log in and click the Orders tab, a screen appears showing past orders, as shown in the following figure.
Figure 4 Sales orders screen
Create a New Sales Order
To begin this solution scenario, you create a new sales order in Siebel by using the following procedure:
On the Sales Orders tab, click New.
A new order is created with a status of Pending.
In the Type list, select Sales Order.
In the Account list, select the desired account.
Our example uses ABC Supplies.
In the Price List drop-down list, select the desired price list.
Our example uses HP Price List.
In the Service Account list, select the desired service account.
Our example uses ABC Supplies.
In the Billing Account list, select the desired billing account.
Our example uses ABC Supplies.
Add Line Items to the Order and Submit It
The next step in this scenario is to add two line items to the order by using the following procedure:
On the Line Items tab, click New to create a new line item for the order.
The first new product is selected. This example item is product number HPDL360G3, which is an HP Proliant DL360 server.
On the Line Items tab, click New again to create the second line item.
The second new product is selected. This example item is product number HPDL380G3, which is an HP Proliant DL380 server.
Click Submit to submit the order.
The following figure shows the details of how the message flows through the process after it is created in Siebel.
Figure 5 Message flow for ProcessOrder IBP
Siebel Transmits the Message to BizTalk Server
Siebel UAN 2.0 for Microsoft transmits XML payload messages to BizTalk Server by using HTTP posts. BizTalk Server listens on specific configured receive locations for those messages. Because our scenario uses the CME_ProcessOrder IBP, BizTalk Server expects the URL to be in the format:
BTSHTTPReceive.dll is an Internet Information Services (IIS) ISAPI extension that traps and processes messages at a specific URL and transmits the messages to BizTalk Server. Each UAN IBP has a specific receive location URL.
In the case of the CME_ProcessOrder IBP, after the HTTP Post message is received, the schema of the message is validated against the CME_ProcessOrder application service interface (ASI).
BizTalk Server Processes the Message
After the received message is validated against the CME_ProcessOrder ASI, it is ready to begin the orchestration process. Orchestration is the flow through which BizTalk Server processes messages. The orchestration engine handles all aspects of passing the message from its source to its destination, such as validation, data formats, and process logic. The adapter simulation flow (ASF) part of the UAN orchestration handles the flow of the message, including receiving the message from Siebel, handling errors, calling other orchestrations, and returning responses.
The ASF for the CME_ProcessOrder IBP, called CMEProcessOrderSiebelSrcASF, receives the posted HTTP message through the ASI and passes the message to the IBP proxy, called CMEProcessOrderSiebel75Proxy. The IBP proxy is responsible for converting the external representation of the Siebel message to the common object format. The IBP proxy validates the Siebel message, checks for errors, and creates a common object representation of the Siebel order.
The CME_ProcessOrder IBP invokes two additional IBPs to encapsulate the required functionality specified in the ProcessOrder UAN specification. The CME_ProcessOrder IBP calls (in this order):
CMEProcessService. Handles the service content for an order.
CMEUpdateOrderLineItem. Handles the updating of the line items on an order.
After the common object is created, the message is brokered to the CMEProcessService IBP orchestration so that the message can be processed. After the CMEProcessService IBP is invoked, the message is mapped to the csiProcessService output specification.
SAP Receives and Processes the Message
SAP receives the message through the Business Application Programming Interface (BAPI) and creates the order. When it creates the order, an order number is generated within SAP.
SAP Transmits the Order Number Back to BizTalk Server
The SAP sales order number is passed back as the return parameter of the BAPI call. The response document passed back by the Web service wrapper contains the SAP order number as well as the processing status at the order header and order line item levels.
BizTalk Server Processes the Message Containing the Order Number
BizTalk Server combines the SAP response XML from the Web service call and the initial csiProcessService content XML to create the csiUpdateOrderLineItem XML document. This document is the common object representation of the update order information.
Siebel Updates the Order Number Field for the Order
Siebel takes the update order information, updates the Siebel order information with the SAP order number, and updates the order header and order line item status to "processed," indicating that this order has been submitted to the back-end SAP system.
How the Siebel User Week Demonstration Was Implemented
Now that you have read about the concepts behind UAN and the final result of the Siebel User Week demonstration, you can understand the details of how the demonstration was implemented by using UAN 2.0 for Microsoft.
BizTalk Server 2004 does the majority of the work in the Siebel User Week demonstration. This section outlines the details of how BizTalk Server was used to implement the CME_ProcessOrder IBP, which is shown in the earlier figure as "Process Order."
The ability to perform orchestrations is one of the key strengths of BizTalk Server 2004. Orchestrations allow you to visually create your business processes and how they interact with internal and external components, specifications, and objects. Creating and configuring orchestrations is as simple as dragging objects from a toolbox and configuring properties for those objects. The following figure shows the orchestration that creates an order.
Figure 6 Orchestration to create an order
The CME_CreateOrder orchestration is used to sequentially handle the business processes associated with creating the order and, in turn, call other orchestrations that are part of the business process. For example, CME_CreateOrder must call the CME_ProcessService and CME_UpdateOrderLineItem IBPs.
A mapping is a way to correlate fields from a source schema file (XSD) to a destination schema file. It enables you to map how fields from the source message are used in the destination message. Additionally, you use special tools, called functoids, to transform those fields. A functoid is a BizTalk Server mapping tool that contains prepackaged functionality that can be used to transform schema fields. For example, BizTalk Server 2004 contains a functoid to concatenate two fields. Other functoids perform mathematical calculations, create custom scripts, and apply date/time functions.
UAN 2.0 for Microsoft includes a set of custom functoids that are used specifically with UAN. These functoids are all contained within the library named Microsoft.MCS.UAN.CustomFunctoids.dll. This .NET assembly is shipped by Siebel as part of UAN 2.0 for Microsoft. The functoids contained within the library are:
UAN ConcatSequenceFormat. Concatenates the string value of each node in the order specified, using a string separator between entries.
UAN FormatDate. Takes a date string in ISO 8601 format and converts it according to the specified format string.
UAN FormatDateTime. Takes a date/time string in ISO 8601 format and converts it according to the specified format string.
UAN ParseDate. Parses the given date string into an ISO 8601 date string according to the specified format string.
UAN ParseDateTime. Parses the given date/time string into an ISO 8601 date/time string according to the specified format string.
The following figure shows the BizTalk Server 2004 Mapper.
Figure 7 BizTalk Mapper
A BizTalk binding is a named location where messages are sent or received. An example of a binding is a specific HTTP port where messages are received into BizTalk Server. BizTalk Server 2004 allows you to optionally specify a binding file, which contains port and location information, when you deploy your BizTalk assemblies. Binding files are supplied as part of UAN 2.0 for Microsoft in the form of XML files. These XML files can be specified during the deployment of .NET assemblies, as described in the following section.
BizTalk Server 2004 includes a Deployment Wizard that enables you to easily deploy .NET assemblies to your production or testing environments. By using the wizard, you can deploy and register your compiled BizTalk Server projects in the target environment in only a few steps. Additionally, you can opt to specify a binding file for your business processes to use. UAN 2.0 for Microsoft includes default binding files for all IBPs, but these files must be customized prior to deployment to reflect differences in your environment.
The wizard, shown in the following figure, guides you through the process of deploying .NET assemblies and binding files to the database.
Figure 8 BizTalk Deployment Wizard
The Deployment Wizard also provides an easy way to perform the following operations:
Deploy a BizTalk assembly to a database. Deploys a .NET orchestration assembly and binding file to the BizTalk Configuration database.
Import a BizTalk assembly binding from a file. Imports only the binding file to the BizTalk Configuration database; does not deploy a .NET assembly.
Export a BizTalk assembly binding to a file. Exports a binding already stored in the BizTalk Configuration database to a file. This file can be used on other BizTalk Servers or to back up the bindings.
Remove a BizTalk assembly from a database. Removes a .NET assembly from the BizTalk Configuration database.
Because UAN 2.0 for Microsoft does not include direct support for SAP, the Siebel User Week demonstration included a bit of customized code that was developed by using the SAP .NET Connector, as described in the following sections.
SAP .NET Connector
The SAP .NET Connector is a technology that provides a way for .NET Framework applications to communicate with SAP ERP systems. The SAP .NET Connector provides Remote Function Call (RFC), Business Application Programming Interface (BAPI), and Intermediate Document (IDoc) integration with SAP by exposing these SAP interfaces to the .NET platform.
The SAP .NET Connector user interface is a Visual Studio .NET add-in that enables users to generate .NET proxies that wrap SAP RFC and BAPI functionality, and exposes the proxies as .NET classes leveraging .NET data types. By doing this, the SAP .NET Connector hides the complexity of managing Advanced Business Application Programming (ABAP) data types and invoking the SAP functionality at the lower RFC API level. The .NET proxies map the .NET data types to the corresponding ABAP data types and invoke the RFC. The results from the invocation are mapped from the returned ABAP data to the .NET data types.
The SAP .NET Connector also provides classes to send and receive IDocs from SAP.
Web Service Wrapper
Licensed To Code created a custom Web service, called SAP_Salesordercreate_Webservice, to create the SAP sales order. The following figure illustrates the discussion that follows.
Figure 9 Web service wrapper
The SAP_SD_Proxy .NET proxy was generated through the SAP .NET Connector to invoke the SAP Sales Order Business Object, named CreateFromDat1BAPI. The proxy is generated to expose the underlying RFC, called BAPI_SALESORDER_CREATEFROMDAT1.
The LTC_SAP_BAPI_Wrapper class wraps the functionality of this generated proxy and simplifies the interface to make this RFC call by providing a simpler method, called CreateSAPsalesOrderUsingXML. This method takes in an XML instance that contains the data passed by the Siebel application, which is a partial subset of the data required to create a sales order in the SAP system. This XML instance has the "sold-to" customer information, line item information, and associated quantity. The LTC_SAP_BAPI_Wrapper class parses the XML, extracts this information, and calls the BAPI_SALESORDER_CREATEFROMDAT1 RFC by automatically filling in the other necessary parameters required by SAP to successfully execute the call to create a sales order within the SAP system. After the RFC call is made, the corresponding sales order number created in the SAP system is inserted in the original input XML and passed back.
The object, named SAP_Salesordercreate_Webservice, wraps the functionality of the LTC_SAP_BAPI_Wrapper and exposes it as a Web service that is invoked from the BizTalk application.
BizTalk Server 2004 is extremely versatile out of the box. It is a world-class integration server that enables organizations of all sizes to achieve high ROI by easily configuring "from any to any" integration between disparate systems. UAN 2.0 for Microsoft extends this flexibility by predefining common business tasks, known as integration business processes, or IBPs. UAN 2.0 for Microsoft defines 12 distinct business processes and corresponding common interfaces. One of those business processes, known as CME_ProcessOrder, was demonstrated at Siebel User Week in 2003 to show the integration between Siebel and SAP through BizTalk Server 2004. This paper provided an overview of the tools and technologies, the steps involved in producing such a demonstration, and the configurations that were used.