12
ArchestrATechnology:UnderstandingMicrosofts.NETTechnology&Its ImpactOnAutomationApplicationDevelopment&Deployment Technology is an evolution, not a revolution. Sometimes we see advancements take place quickly, butwhenviewedfromahighaltitudevantagepoint,itsofteneasiertoseeandunderstandthe thread of technological evolution rather than the discrete events related to specific advancements. ThispaperwilltakejustsuchahighaltitudelookatthedevelopmentofMicrosofts.NET technology with the intent of helping industrial automation users understand the context of .NET andwhatitmightbeabletodoforusersinthefuture. Perhapsthebestwaytoexaminetechnologyadvancementsistolookatthemfromtheusers perspective.Whatdoesthetechnologyprovidethathelpsusbettersolveaproblem?A transportation analogy may be a good example. People were self-propelled initially, walking wherevertheyneededtogo.Withthecreationofthewheelandthedomesticationofanimals,we hadimprovementsintheformofhorsespullingchariotsandbuggies.Atsomepoint,wemovedup tobicycles,boatsandtrains.Nowwehaveairplanes,rocketsandspacevehicles. Buttheuserproblemremainedthesame.Thepointwastomovepeopleand/orgoodsfrompoint AtopointBasefficientlyaspossible.Atahighlevel,theuserproblemremainsunchanged,butthe technologyappliedtoitcontinuestoevolveanddelivereverincreasinguserbenefits. Ifyouthinkabouttelephones,thesamepatternisseen.Thebasicarchitectureofaphonehas stayedprettymuchthesamesinceitsinventioninthe19 th century.Aphoneconsistsofahandset andabase.Multiplephonesareconnectedtoanexchange,andexchangesareconnectedtoeach otherinnetworks.Overthelastcenturywevemovedfromwiredtowirelesssystems,whichhas providedanewuserbenefitintermsofmobility.Weveadvancedfromcopperwirestofiberoptics and satellite channels, which have increased communications speed and reliability. But the primary user benefit has remained people can communicate.

ArchestrATechnology:UnderstandingMicrosoft s ......ArchestrATechnology:UnderstandingMicrosoft’s.NETTechnology&Its ImpactOnAutomationApplicationDevelopment&Deployment Technologyisanevolution,notarevolution

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

ArchestrA Technology: Understanding Microsoft’s .NET Technology & ItsImpact On Automation Application Development & Deployment

Technology is an evolution, not a revolution. Sometimes we see advancements take place quickly,but when viewed from a high altitude vantage point, it’s often easier to see and understand thethread of technological evolution rather than the discrete events related to specific advancements.This paper will take just such a high altitude look at the development of Microsoft’s .NETtechnology with the intent of helping industrial automation users understand the context of .NETand what it might be able to do for users in the future.

Perhaps the best way to examine technology advancements is to look at them from the user’sperspective. What does the technology provide that helps us better solve a problem? Atransportation analogy may be a good example. People were self-propelled initially, walkingwherever they needed to go. With the creation of the wheel and the domestication of animals, wehad improvements in the form of horses pulling chariots and buggies. At some point, we moved upto bicycles, boats and trains. Now we have airplanes, rockets and space vehicles.

But the user problem remained the same. The point was to move people and/or goods from pointA to point B as efficiently as possible. At a high level, the user problem remains unchanged, but thetechnology applied to it continues to evolve and deliver ever increasing user benefits.

If you think about telephones, the same pattern is seen. The basic architecture of a phone hasstayed pretty much the same since its invention in the 19th century. A phone consists of a handsetand a base. Multiple phones are connected to an exchange, and exchanges are connected to eachother in networks. Over the last century we’ve moved from wired to wireless systems, which hasprovided a new user benefit in terms of mobility. We’ve advanced from copper wires to fiber opticsand satellite channels, which have increased communications speed and reliability. But the primaryuser benefit has remained – people can communicate.

2

What this shows is that architectures influence technological evolution. Architectural design defineswork partitioning between components, shaping both domain requirements and enablingtechnologies. The benefits of a good architecture allow individual components to adapt to evolvingtechnologies quickly and stretch the life span of systems, thus protecting user investments in thetechnology.

Started With Mainframes

Nowhere is this more evident than in the evolution of computing. By technological necessity, whencomputing began in earnest in the 1950s, mainframes predominated and people accessedapplication and data via dumb terminals attached to the central system. IBM ruled the world, untilminicomputers came on the scene in the late 1960s and 1970s, with the likes of Digital Equipmentand Data General. They were simply smaller packages of computing capability, designed for use byengineers, scientists and departmental workgroups. By the late 1970s and into the 1980s, thepersonal computer came into play as a workforce. Desktop computing took the world by storm,enabling individuals to work on their own and to link to other individuals as needed, via networks.Intel and Microsoft ruled the world. And today, we see technology advancements bringing thisindividuality down to the ultimate – in handheld computers, PDAs and Internet-enabled wirelessphones.

Throughout this evolution – which often looks like a revolution – the application of thesecomputing technologies has still remained the same: the user is able to compute. Now the problembecomes one of managing this ability so that it’s the most efficient process possible. That’s the bigchallenge for information technology in the Internet age. If people are to be able to compute withany application, from any location, at any time and from any device – the infrastructurerequirements multiply to immense proportions. Total cost of ownership becomes a serious issuebecause administrative issues become larger than the technological issues. If everyone is using arich application set, then all of those applications must be managed individually.

The solution is the deployment of “thin client” technology, which brings us almost full circle to themainframe era of the 1950s and 1960s. Using thin client computing, software and applications thatrequire maintenance are hosted on network servers and aren’t accessible by the majority of theactual end users. They simply use the applications from whatever computing device they wish. The

3

centralized servers and the software they host are maintained by experts at that central site, such ascorporate IT departments or application service providers on the Internet. As examples, think of theInternet services such as MapQuest, for finding directions and maps, or TurboTax, for completingincome tax forms online.

How Thin is Thin?

“Thin” computing is when:· There is no data at the “server” end of the application, such as with the original

Wonderware InTouch™ human-machine interface (HMI) software· There is no operational data at the client end, such as InTouch with remote tags· There is no application configuration on the client side, such as InTouch 7.1 with

Internet access· There is no “pre-installed” application software on the client side· There is no application software on the client side, such as the SuiteVoyager portal· There is no large operating system on the client side, such as with Terminal Services for

InTouchThis emphasis on thin clients doesn’t necessarily mean that thick clients are going away, however. Inthe foreseeable future, many applications will still require a level of richness of functionality that isbest achieved with thick clients. These will likely include applications that are targeted for expertusers. But rising acceptance of the Internet as a backbone means that thin client computing willbecome the next wave in the (r)evolution.

What is the .NET platform?

As indicated already, today's Internet largely mirrors the old mainframe model. Despite plentifulbandwidth, information is still maintained in centralized databases, with “gatekeepers” controllingaccess to it. Users must rely on web servers to perform all operations, much like the oldtimesharing model. The problem with this is that web sites are isolated islands that cannotcommunicate with each other in any meaningful way. Web servers do little more than serve upindividual pages to individual users—pages that mostly present hyper-text markup language (HTML)“pictures” of data, but not the data itself. The web browser is in many respects a glorified read-onlydumb terminal—you can easily browse information, but it is difficult to edit, analyze, or manipulateit, which is really what people want to do with it.

4

These problems are only multiplied if you use more than one PC or mobile device. To access youronline information, e-mail, offline files and other data, you have to struggle with multiple, oftenincompatible interfaces, with varying levels of data access, and with only intermittentsynchronization of all the information you need. For the web developer, the tools to build, test anddeploy sites are less than adequate. Many focus more on building attractive rather than useful websites. None of them addresses the entire software lifecycle, from design to development todeployment to maintenance, in a way that is consistent and efficient. No system today letsdevelopers write code for the PC and deploy it to a variety of devices.

Corporate users face additional challenges. While the advent of server “farms” has made systemsmore reliable, by eliminating single points of failure, it has made system management morecomplex. Performance measurement, capacity planning and operations management arechallenging multi-tier, multi-function web sites. New e-commerce systems rarely interoperate wellwith legacy business systems.

The fundamental idea behind Microsoft’s .NET initiative is that the focus is shifting from individualweb sites, or devices connected to the Internet, to “constellations” of computers, devices andservices that work together to deliver broader, richer solutions. The intent is to give users controlover how, when and what information is delivered to them. Computers, devices and services will beable to collaborate with each other to provide rich services, instead of being isolated islands wherethe user provides the only integration.

.NET is intended to help drive a transformation in the Internet that will see HTML-basedpresentation augmented by programmable XML-based information. XML, the eXtensible markuplanguage, is a widely supported industry standard defined by the World Wide Web Consortium(W3C), the same organization that created the standards for the web browser. XML provides ameans of separating actual data from the presentational view of that data. It is key to providing away to unlock information so that it can be organized, programmed and edited; a way to distributedata in more useful ways to a variety of digital devices; and means of allowing web sites tocollaborate and provide a constellation of web services that will be able to interact with eachanother.

5

This is a major evolutionary change in computing for the “Wintel” architecture, since the Windowsoperating system isn’t optimized for thin client computing. It embodies the thick client model, withall software on every PC. This architecture is based on Microsoft’s common object model (COM),which isn’t inherently a distributed architecture. COM presents scalability issues and even thedistributed COM (or DCOM) is an afterthought. It’s too complex for mobile or embeddedcomputing and it’s not lightweight enough for use with Windows CE, the Microsoft platform forhandheld computers.

The challenge for Microsoft has been to respond cleverly to the impact of the Internet. Thecompetitive challenge has been difficult as well, with offerings such as the Java programminglanguage from Sun Microsystems, the Palm operating system for handhelds, the Internet strength ofAOL and Netscape, and the UNIX-based power of Oracle databases and applications. In addition,the rise of new open standards such as Java, the hyper-text transfer protocol (HTTP) and XML bringnew functionality.

.NET is Microsoft’s answer to these challenges and, according to Microsoft Chairman Bill Gates, it’s“as significant as the move from DOS to Windows.” .NET will fundamentally change the waycomputers and users interact. It’s intended to bring employees, customers, data and businessapplications into a coherent and intelligently interactive whole, so that business can benefit fromradically increased efficiency and productivity.

On a practical basis, this means that previously complex tasks such as moving a purchase orderfrom customer A to vendor B will be able to:

· Employ a common language for messages· Use a common message content structure· Have the ability to send and receive messages easily, and· Have the ability to process messages within the context of business processes

And users will be able to do all this while using completely different computer systems.

6

Basic .NET Elements

There are four primary elements to the success of .NET in creating a constellation of Web Services:· XML, the eXtensible Markup Language that is the universal data medium for message

content· HTTP, the Hyper Text Transmission Protocol that is the communications pipeline· UDDI, the Universal Description, Discovery and Integration director, which serves as a

B2B Yellow Pages-style directory that allows companies to locate business partners· and SOAP, the Simple Object Access Protocol that defines how each Web Service

interacts with the othersXML will be the common language of .NET. It already provides a universal data exchange format. It’smulti-platform in nature so there are no limitations. Its benefits are numerous. As an example,consider a conversation between two people who both speak English, but come from differentbackgrounds – say a software engineer and a lawyer. While they both speak English, the technicalvocabulary of their different professions may make it difficult to actually communicate with eachother. The XML Schema is the solution for a situation like this, since it provides a commonvocabulary (for example, VML) and grammar (XML) that’s understandable to both parties.

The basis for the common messaging system is SOAP, a protocol that has already been submittedby IBM, Microsoft, Sun and other companies to the W3C consortium. SOAP deploys HTTP as thetransport mechanism. Since it’s already a widely adopted standard, it’s usable on multiple hardwareplatforms and it’s scalable all the way from handhelds to mainframes. The XML protocol is used tocarry the content or data on top of the HTTP mechanism.

Here’s a simple example of a SOAP request for stock quote data. The top part of the code is anHTTP header and it’s a “request response” type of protocol. This is a typical example of something auser would post to a server in order to get a response back. The “envelope” is the content envelopewithin the SOAP protocol. The next portion of the body points to the object that will actuallyprocess the request.

7

PPOOSSTT //SSttoocckkQQuuoottee HHTTTTPP//11..11HHoosstt:: wwwwww..ssttoocckkqquuootteesseerrvveerr..ccoommCCoonntteenntt--TTyyppee:: tteexxtt//xxmmll;; cchhaarrsseett==""uuttff--88““CCoonntteenntt--LLeennggtthh:: 332233SSOOAAPPAAccttiioonn:: SSoommee--NNaammeessppaaccee--UURRII##GGeettLLaassttTTrraaddeePPrriiccee<<SSQQ::EEnnvveellooppeexxmmllnnss::SSQQ==""hhttttpp::////sscchheemmaass..xxmmllssooaapp..oorrgg//ssooaapp//eennvveellooppee//""SSQQ::eennccooddiinnggSSttyyllee==""hhttttpp::////sscchheemmaass..xxmmllssooaapp..oorrgg//ssooaapp//eennccooddiinngg//"">><<SSQQ::BBooddyy>><<mm::GGeettLLaassttTTrraaddeePPrriiccee xxmmllnnss::mm==""SSoommee--NNaammeessppaaccee--UURRII"">><<ssyymmbbooll>>DDIISS<<//ssyymmbbooll>><<//mm::GGeettLLaassttTTrraaddeePPrriiccee>><<//SSQQ::BBooddyy>><<//SSQQ::EEnnvveellooppee>>

Here’s the response that was returned to provide the stock price quote, again using the SOAPprotocol:

HHTTTTPP//11..11 220000 OOKKCCoonntteenntt--TTyyppee:: tteexxtt//xxmmll;; cchhaarrsseett==""uuttff--88““CCoonntteenntt--LLeennggtthh:: nnnnnnnn<<SSPP::EEnnvveellooppeexxmmllnnss::SSPP==""hhttttpp::////sscchheemmaass..xxmmllssooaapp..oorrgg//ssooaapp//eennvveellooppee//""SSPP::eennccooddiinnggSSttyyllee==""hhttttpp::////sscchheemmaass..xxmmllssooaapp..oorrgg//ssooaapp//eennccooddiinngg//"">><<SSPP::BBooddyy>><<mm::GGeettLLaassttTTrraaddeePPrriicceeRReessppoonnssee

xxmmllnnss::mm==""SSoommee--NNaammeessppaaccee--UURRII"">><<PPrriiccee>>3344..55<<//PPrriiccee>><<//mm::GGeettLLaassttTTrraaddeePPrriicceeRReessppoonnssee>><<//SSPP::BBooddyy>><<//SSPP::EEnnvveellooppee>>

BizTalk is Microsoft’s formal initiative to create industry standard technical and content forbusiness-to-business (B2B) integration. It comprises two segments as well, for the commonmessaging and for the standard document structure for multiple business purposes. BizTalk Serveroffers standardized messaging and has a feature called “Orchestration” that graphically modelsbusiness processes so that e-messages can be processed accordingly. In the case of an invoice, forinstance, orchestration lets users model the relationship with other companies – the actual processflow from order through fulfillment and all the pieces that are part of that process. Users can

8

graphically represent that and produce systems and software that support and validate it using thegraphical capabilities of Visio, which Microsoft acquired last year.

The Layered Technologies of .NET

Microsoft’s .NET technology brings together a number of elements, including the .NET framework,the user interface (UI), .NET languages and VisualStudio.NET. The block diagram shown in Figure 1illustrates the relationships among the various components available for application development inthe .NET environment.

Figure 1

Existing programming languages that play in the framework are shown at the top, including VisualBasic, C++, the new C# (or C-sharp) from Microsoft, and JScript or Java scripting. Certainly otherlanguages will be created for the .NET framework. The common language specification defines whatwill be done to compile the code, providing the definition for an intermediate language (IL)

9

processor that abstracts it from the hardware, much like Java byte code. It’s no longer compiled toa native processor. The web services, user interface, data and XML code, and base classes describethe content. And the common language runtime, which is analagous to the Virtual Machine, willload and run the software. The whole idea of .NET is to compile code into an intermediateenvironment, or the equivalent of byte codes, and process it in the execution environmentprovided by the common language runtime.

The new Visual Studio environment supports all traditional languages and will support newlanguages that are developed in the future. This eliminates the problems associated with differentdata types between languages. A string is a string and a long is a long, no matter what the language,and users now have consistent specs for accessing them and passing them from component tocomponent. Applications can now be written in a mix of languages and they will still play togetherin ways that weren’t possible before.

Another nice feature of the .NET framework is the work that has been done with applicationassemblies. Assemblies are now associated with a “manifest” that is an XML document specifyingreferences for all files, DLLs, executables, graphics or any other program component that is installedon the machine. This eliminates the problem of “DLL Hell,” or the situation in which differentapplication programs that use different versions of the same DLLs won’t be stepping on eachother’s toes and causing applications to crash.

In summary, this new .NET framework provides multiple benefits, including:· A new programming model for software developers· A new application execution model for running applications· A new deployment model for managing deployment/installs of components· New technologies for improved distributed and Web applications· The promise of application portability

For software developers, this new toolset means they can increase their productivity. In the earlystages of implementation this will come with some pain. It will require a fairly long learning curveto get used to it, and there will be some migration headaches as current COM-based applications

10

are migrated to the new environment. They will likely coexist at first and be rewritten in the longterm. The .NET technology is still evolving, so it will be a growth process that may take a few yearsto mature.

ArchestrA Automation Architecture and .NET Technology

For Wonderware specifically, and automation users in general, some of the .NET technologies arealready available and being implemented now. XML, VML, XSL and HTTP/SOAP are alreadydeployed in Wonderware’s SuiteVoyager portal product. In addition, Terminal Services for InTouchalready provides thin client capabilities, as part of WonderACT.. Wonderware takes advantage of thepower of Microsoft SQL Server and will accelerate this effort by moving all plant data into SQL-based servers, including IndustrialSQL Server, InTouch Alarm Server and Industrial ApplicationServer. The user benefit is that all data will be available from one Web Server and users will be ableto easily access any data they need to do their jobs, from anyplace in the enterprise, via anycomputing device of their choice. That’s the bottom line to both the.NET framework and toWonderware’s product direction – to provide data anytime, anywhere and in any format that’sneeded.

Arches trA Incorporates Micros oft.NE Tand Adds Indus trial E xtens ionsA rches trA Incorporates Micros oft.NE Tand Adds Indus trial E xtens ions

Winforms , XML ,Web S ervicesWinforms , XML ,Web S ervices

C L R , XML ,Web S ervicesC L R , XML ,Web S ervicesC L R , XML ,Web S ervicesMicros oft

ManagementC ons ole

Micros oftManagementC ons ole

Figure 2

11

Now let’s discuss technology in all layers of ArchestrA offering as shown in Figure 2. ArchestrAarchitecture resides on top of foundation technologies provided by Microsoft with its operatingsystem, database, web services, communications, and associated enabling software. Internally,ArchestrA is comprised of many components such as object repository, configuration, run-time,execution, communication, deployment, diagnostics, scripting, extensibility, visualization andconnectivity. These components collectively called ArchestrA Framework, offer basic services to allautomation applications that are designed using ArchestrA technology. ArchestrA framework isfundamentally designed using Microsoft technology and Windows .NET Servers, Windows 2000 andWindows XP platforms. Majority of user interface is optimized for XP look and feel. It usesMicrosoft SQL Server as its object and configuration repository for storage and leverages XMLextensively.

Key Microsoft technologies utilized within ArchestrA include:

· Software architecture platform runs exclusively on top of Microsoft operating systemplatforms

· The visualization offering that works directly with the ArchestrA architecture (WonderwareInTouch) is already Designed for Windows XP Logo Certified.

· All configuration and application data is stored in a Microsoft SQL Server database.· All historical data and events use Microsoft SQL Server database.· All configuration editors are implemented utilizing .NET Win-Forms. This ensures that they

are componentized for web interface.· ArchestrA’s industrial application web portal (Wonderware SuiteVoyager) can utilize any

standard web part provided by Invensys, Microsoft or others.· All alarm, data communication and event handling is performed using an implementation

of Microsoft Message Queue.· Systems administration and diagnostics for interfaced plant equipment and computers

running the ArchestrA software architecture are plug-in components to MicrosoftManagement Console. This ensures a consistent software and hardware management userinterface with all other Microsoft offerings.

· All software deployment is performed using Microsoft Installer technology (MSI).

12

· Application scripting functionality is implemented utilizing .NET Common LanguageRuntime. User generated application scripts automatically generate .NET CLR code andapplication scripts may directly interact with any .NET function or service.

· The ArchestrA application security model adds functional application roles &responsibilities to the standard Microsoft operating system user security functions.

· Next generation runtime visualization being developed for ArchestrA is utilizing .NET userinterface components such as Win-Forms, ASP.NET, GDI+ so all user visualizationapplications will be available for desktop users, web users and mobile users.

· New ArchestrA based applications can integrate with any legacy DDE, NetDDE, or OPC datasource.

Invensys companies will absorb most of the pain for automation users by bringing the full .NETenvironment to bear on industrial applications step by step – moving from today’s thin clientarchitecture to the all-new ArchestrA based FactorySuite A2 product in 2002. Users will get all thebenefits of this marvelous new technology without all the pain.

# # #

02-050 051501