Friday, September 4, 2009

Examples of Microsoft .NET Enablement

The Microsoft .NET environment includes what a business might need to develop and deploy a Web service-connected information technology (IT) architecture: smart clients, servers to host Web services, development tools to create them, applications to use them, and a worldwide network of more than 35,000 Microsoft Certified Partner organizations to provide any help users might need.

Part Two of the series Subtle (or Not-so-subtle) Nuances of Microsoft .NET Enablement.

Most vendors have naturally chosen to evolve their existing application framework to meet the market needs detailed in Subtle (or Not-so-subtle) Nuances of Microsoft .NET Enablement. For a general discussion of the evolution of system architecture, see Architecture Evolution: Service-oriented Architecture versus Web Services.

When a compelling new technology does appear, it is quite common in the industry for an enterprise application provider to surround its old enterprise resource planning (ERP) or accounting core software in a "wrapper" of newer technology. The purpose of this is to effectively obfuscate the old technology, giving it the latest graphical look, or providing an easier means to access the core business logic and data from other, more modern systems and devices, or the Internet. Many ERP and accounting back-office systems in the market today were originally written in—and still contain—cores written in non-mainstream, or even antiquated technologies. Strategies employed to wrap older products include putting contemporary Windows graphical user interfaces (GUIs) (often referred to as "screen scrapers") or web browser-based user interfaces (UIs) on them. Lately, strategies have included providing new Web services layers to rejuvenate aged products by accessing the old business logic components and databases.

Evolving means a slower process where incremental changes are made to the existing architecture so that it eventually meets these demands. There are some good examples of .NET-enabled legacy software systems to which wrappers have been added to allow legacy functionality to be used and extended through Web services on the .NET Framework. In other words, at this more advanced level of .NET readiness, the legacy software system has a wrapper added which is a communication component created by an additional layer of code in the product. The wrapper is written in one of the .NET Framework languages, and by adding this wrapper, the legacy system functionality can be used through Web services. Other great advantages of this approach is that such systems run on the accepted current market definition of the .NET Framework, and allow fairly rapid enablement of legacy functionality.

One application that fits into the wrappering side of things is the Epicor Enterprise client/server product suite, whose business logic is exposed via .NET Web services. Most Epicor products generate Web services from business logic, or have business logic that simply is Web services (since the vendor has some heritage manufacturing products that will remain in traditional client/server mode). It is also interesting to note that there are no Web services in many of the Microsoft Dynamics ERP products as of yet. This is primarily because in some products, nothing is coded in (or requires) .NET for now, at least not in the core product (see Microsoft Keeps on Rounding up Its Business Solutions). Certainly, developers have an application program interface (API) to code in .NET around them or to extend them, but the core product is still largely Common Object Model (COM)-based. Even Epicor Enterprise might be in "better shape," since Epicor provides .NET-enablement via .NET extensible markup language (XML) Web service code wrappers.

A great example of a more advanced approach is that of SYSPRO. It goes beyond using wrappers, and aims to componentize the product so that its functionality can be used on any device or with any modern development language (including .NET languages). SYSPRO is a well-known developer of enterprise software for mid-market manufacturers and distributors (with about 12,000 licensed companies in more than 60 countries worldwide), and was one of the first software vendors to embrace the Microsoft .NET technology (see SYSPRO—Awaiting Positive IMPACT From Its Brand Unification). SYSPRO spent years developing its .NET Framework-based solution during the same time period of Microsoft's efforts to launch the .NET Framework technology commercially. Many of the building blocks of the SYSPRO solution were built initially on the beta releases of the commercially available Microsoft software. The company saw the .NET Framework as a way to add functionality and extend controls along the entire supply chain control, without the need for extensive programming or alterations to the core system.

SYSPRO introduced SYSPRO e.net solutions to expose the extensive SYSPRO functionality as business objects that can be used on any device or with any modern development language. This "componentization" was written from the ground up, to work seamlessly with XML, and .NET or COM environments. The SYSPRO business objects or components are "building blocks" that allow customers and developers to build Web services for customized solutions, or for seamless integration into third party products relatively quickly and easily. The business objects ensure that business logic, SYSPRO security, and data integrity are retained.

SYSPRO e.net solutions also form the foundation of the rewritten SYSPRO web applications that were developed using .NET technology and the SYSPRO business objects. The SYSPRO e.net solutions Web services, which form part of the web applications, deliver the core SYSPRO functionality to almost any client device across a variety of protocols in an integrated and cohesive manner. This enables applications and services that should provide manufacturers and distributors with new levels of functionality and flexibility.

A good example of the use of SYSPRO e.net solutions is the SYSPRO CyberStore offering, which is an e-commerce application that extends the concept of service-oriented architecture (SOA) to business-to-business (B2B) and business-to-consumer (B2C) trading. SYSPRO CyberStore offers online shopping 24x7 with near real-time inventory information and real-time pricing, and places the order directly into the SYSPRO ERP system using SYSPRO business objects and XML standards. For example, as a user navigates through the e-commerce site, different SYSPRO e-net solutions objects and services will be invoked to retrieve the relevant information. As a product is selected by a buyer, the inventory look-up business object is invoked to perform an online inventory check and fetch the latest image of the product from the back-end SYSPRO ERP system. The information is returned and rendered to the user, with the result being live inventory information provided to a potential e-commerce buyer. In addition, if the refresh button is selected a split second after a sales order is entered by the accounts department in the back-end ERP system, the revised inventory information will be displayed to the user on the e-commerce site. If the user purchases the item, the information relevant to the buyer and the payment method will be collected in the front-end e-commerce system, passed to a business object using the XML standard, and automatically processed in real time into the back-end SYSPRO ERP system.

SYSPRO e.net solutions provide a fairly cost-effective way for SYSPRO customers to integrate other best-of-breed applications, maximize B2B e-commerce trading, and leverage wireless connectivity, without compromising the business rules and security inherent in SYSPRO software. The XML standard and collaborative commerce tools like the Microsoft BizTalk Server and SYSPRO e.net solutions Document Flow Manager (DFM) enable systems to be more extensible and to collaborate with any other disparate or legacy system. As a result of the effective use of the .NET Framework, objects and services, and XML, independent systems can be set up to collaborate in real time despite their disparities.

In order to make the technology viable in the mid-market, SYSPRO embedded the aforementioned collaborative commerce engine into the core SYSPRO ERP software. The DFM automatically consumes and transmits XML transactions in real time by continually checking predetermined folders or e-mail addresses on a Microsoft Exchange Server for XML transactions. The XML transaction files are either e-mailed or transmitted via file transfer protocol (FTP). As the SYSPRO predefined XML transaction is identified by the DFM, it is automatically consumed by the module, which will in turn invoke a business object (business logic) to process the received transaction. The DFM module can also be configured to transmit the reply from the business object to an e-mail address or to another business object for further processing.

In environments where it may not be feasible to transact in real time directly through a Web service, the DFM module can be used to asynchronously process the transaction. The payment authorization can be processed in the front-end e-commerce system, and the relevant information placed in an XML file, which would then be transmitted back to the DFM and consumed using the same business object as if it were being processed using the Web service. In a situation where the back-end SYSPRO ERP system is offline for some reason, transactions are queued for processing by the DFM, and the module can initiate replies and transmit XML transactions back to the e-commerce system, and initiate e-mails or other proactive processes to increase efficiencies and the customer experience.

SYSPRO Expands Strategy

SYSPRO continues to expand its .NET Framework strategy with its latest product release, SYSPRO Version 6.0 Issue 010. The brand new SYSPRO Reporting Services (SRS) suite is written using .NET technology, and uses the business objects to render the reports seamlessly to an embedded Crystal Reports XI Server. SRS offers additional functionality such as archiving, scheduling, report customization, and various output methods. Issue 010 also sees the release of a new SYSPRO Analytics module (totally rewritten in .NET) which provides a solution for analyzing and dissecting data, enabling businesses to track trends, recognize and adapt to changes, and make informed decisions.

SYSPRO delivers information to users with a sophisticated analytics tool that is fairly easy to use, and does not require the technical knowledge of an online analytical processing (OLAP) developer. The new UI in Issue 010 has also been rewritten using cutting-edge GUI components, offering SYSPRO users easy personalization of their own screens, as well as easy customization enabling the use of Web services with VBScript associated with an unlimited number of user-defined fields. The customization can be deployed on a central or distributed basis. Electronic Signatures, also released in Issue 010, enables much more than just operator authentication when transactions are processed. The flexible design enables processes to be triggered based on user-defined criteria, facilitating enhanced business process controls that link to third party or custom programs, or to Web services with VBScript.

SYSPRO e.net solutions continue to provide a solid foundation that enables businesses to build or develop a service-oriented architecture (SOA). SOA concepts can simplify the reengineering of business processes, and provide a solid and obvious foundation for companies to respond more quickly to change. Business benefits from SOA should also include improved time-to-market, more responsive customer service, and increased visibility in the face of changing regulations, such as the US Sarbanes-Oxley Act (SOX) (see Using Business Intelligence Infrastructure to Ensure Compliancy with the Sarbanes-Oxley Act) and US Food and Drug Administration (FDA) requirements.

Epicor Software Corporation, also a prominent mid-market provider of industry-specific enterprise software solutions, is an example of a vendor that used Microsoft .NET technology to rebuild its application from the ground up as an SOA too. Epicor delivered its next-generation SOA-based manufacturing solutions, Vantage 8.0 and Vista 8.0, at the end of 2004. The solutions continue to be adopted by progressive midsized manufacturers, with the re-architected Vantage and Vista solutions having reportedly been shipped to more than 1,000 new and existing Epicor customers. Epicor Vantage is a comprehensive solution designed to meet the needs of make-to-order (MTO) and mixed-mode manufacturing companies, while Epicor Vista is an integrated manufacturing and accounting solution for emerging manufacturers, job shops, or MTO departments of large enterprises. Designed to meet the needs of both small and medium manufacturers, the solutions include built-in workflows managing the entire order cycle, from marketing and sales, through production and planning, sourcing and procurement, installation and service, and financial recognition. Early in 2002, Epicor embarked on a major effort to rebuild the two products using Microsoft .NET and the Progress OpenEdge fourth-generation language (4GL) development environment, which has meanwhile become.NET Framework compliant (for more information, see Epicor Reaches Better Vista From This Vantage Point). Both Vantage and Vista are available on Microsoft SQL Server and Progress databases, giving customers the freedom and flexibility to choose whichever makes sense for their business.

As a result of a major effort over a few years (about one year to develop the SOA tool set, and the rest to port the code), the new object-oriented SOA-based ERP systems were announced in late 2004. Featuring an n-tier architecture built with Microsoft .NET and Web services technology, both Vista 8.0 and Vantage 8.0 are architected from the ground up to support SOA, which should enable user businesses to leverage software services and components through open industry standards. In turn, this should simplify application-to-application (A2A) integration and supply chain connectivity. The new architecture exposes all functionality as Web services, which should make it easier to orchestrate business processes and workflows within the application in order to promote lean principles and continuous performance initiatives. It also promises new levels of application reliability, scalability, system interoperability, and flexibility, combined with a rich and personalized user experience.

Today, nearly 500 business objects across 30 modules (featuring thousands of business functions) are exposed as business services, meaning that customers should be able to extend the applications and develop integrations to other products. To that end, given the somewhat heterogeneous portfolio of Epicor products, the vendor announced Epicor Service Connect (released in fall 2005), a Web services-based business integration platform. This platform functions as the central integration point for implementing secure workflow orchestrations within Epicor applications and with third party applications to enhance collaboration and automate business processes. Harnessing the openness of XML Web services, Service Connect uses industry-wide standards and technology enabling businesses to deploy solutions now, with a degree of confidence that their investment will remain intact in the future. The SOA of many Epicor solutions enables Service Connect to transform or combine application processes to streamline processing within the application framework, whereby business components, represented as Web services outside of the application, can easily be accessed within Service Connect to eliminate non-value added steps and streamline basically any business process.

Designed to support both internal and external connectivity to Epicor solutions as well as to external applications or processes, Service Connect provides a straightforward solution for graphically mapping process flows and orchestrating transsactions. To that end, the tool uses visual workflows to map data to different formats, and create and assign tasks for human interaction, and uses "drag and drop" processes to call Web services, enabling non-programmers to build their own scenarios that interoperate with the application. For example, processing sales orders typically involves multiple steps including numerous availability inquiries, reviews, and inventory release decisions, all serving to extend order lead times. Service Connect enables users to eliminate many of these steps by creating orchestrations for routing processes to automated tasks, such as order-submit direct-to-pick for specific inventory items, or priority order fulfillment for a company's best customers, in turn improving order-to-delivery performance. By enabling non-programmer solution users to automate tasks and processes within the application, Service Connect also helps to promote lean principles, continuous performance initiatives, and Six Sigma quality, by providing a simple workflow orchestration tool to improve collaboration, velocity of information, and ultimately value chain performance.

No comments:

Post a Comment