june 5 – 8 2005 orlando innov-11: extending openedge and.net™ to the factory floor bob brennan...
TRANSCRIPT
June 5 – 8 2005Orlando
INNOV-11:Extending OpenEdge and
.NET™ to the Factory Floor
Bob Brennan
Integrated Manufacturing Systems, Inc.
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 2
Agenda
Quick Definitions, Set Levels Things We Care About Progress Parts Some Code Discussion
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 3
Our Foundation
Factory and Warehouse Environment
Mobile Users / PLCs / Headless Users
Non Traditional Computer Users
Getting closer to the source of data
Timely and Accurate Collection
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 4
Wireless Networking
Extend the copper network out to the factory, yard, warehouse (pool, lobby, car, airplane…)
Provides infrastructure for more real time processing
Standards Compliance 802.11
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 5
Define .NET
Microsoft’s Platform for Web Services
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 6
Define Compact Framework
“Lite” Version for Portable Devices• Subset of full .NET classes
Common Language Runtime (CLR)• Built from scratch for mobile devices
• Constrained Memory
• Constrained CPU
• Battery Conservation
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 7
Compact Framework
Allows ‘Rich’ UI on a portable deviceThink Progress Web Client Mode
Casually Connected Data Model• XML Based
First Class Web Services Consumer• XML Based
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 8
Differences
ASP.NET is not there. Needs IIS No COM Interop No Native Printing Services No Large Footprint or Compute Intense
• Remoting
• XML Path Language (XPath)
• XSLT
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 9
Agenda
Quick Definitions, Set Levels Things We Care About Progress Parts Some Code Discussion
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 10
Things We Care About
XML Web Services (Consume and Host)
ADO.Net Data Sets
Casually Connected Model
Persistence of Data
Visual Studio Development Tools
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 11
Web Services
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 12
ADO.NET
DataSet• Database in Memory
• No permanent connection to real DB
• Object is XML Based
DataAdapter• The link back to the real DB
• Connect as needed/when available
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 13
Casual Connections/Persistence
The developer decides when the DataAdapter is connected to the DataSet.
Temporary Connection
Localized copy of Data (XML, Pocket Access, SQL Server CE, Memory)
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 14
Development & Deployment
Visual Studio 2003 as Development tool• Smart Devices
• VS/2003 with Complete install
Active Synch• No Internet Deployment
• Can’t point user to a URL and let system determine if the latest code is executing.
• WebClient™ Versioning
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 15
Sample Devices – Lots of Choice
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 16
Smart Devices
All are based on either Pocket/PC or CE/.NET• Pocket PC 2000 *
• Pocket PC 2002*
• Pocket PC 2002 Phone Edition
• Pocket PC .NET
• Windows CE .NET 4.1 and above
* Only CE 3.0 Derivatives to be ported
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 17
Business Component / CIO POV
• Application Building Blocks• Software component
• Each component addresses a well-defined set of business requirements
• Reusable
• Self contained (i.e. loosely coupled)
• Encapsulates “best practices”
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 18
Service Oriented Architecture
• Components assembled to form a complete application• Combine with other developer components
• Combine with third party components
• Pick and choose componentsthat fit the requirementsat hand
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 19
Web Services / Architects POV
Service Oriented Architecture
Loosely coupled chunks of logic that do something
• Do one well-defined thing
• Common/Standard Interfaces both In and Out
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 20
Remote Procedure Call / My POV
Run some logic “Over There” Get result back in a standard way I don’t care how that thing is deployed I just want it to work Return my stuff in a way that is
consistent and useable. Soap Wrapped XML is a way i.e. Web
Services.
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 21
Recent Past
Client Server via Telnet• Needs Constant Connection
Browser Based• Limited UI
Java™ • Runtime Availability/ Processor Speed
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 22
Agenda
Quick Definitions, Set Levels Things We Care About Progress Parts Some Code Discussion
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 23
ProDataSet
Think of a ProDataSet as in-memory data that holds a set of related records and is aware of the interrelationships.
XML-ish, Content and Structure
Disconnected temp table db
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 24
ProDataSet
You can pass a ProDataSet as a single object from one session to another.
The DataSource Object is separate from the data structure definition
Diff Gram Updates back at Server
Maps to the Microsoft ADO.Net DataSet
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 25
OpenEdge™ Development:ProDataSets by John Sadd
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 26
Adds a logical layer between the physical DB and the Developer
Try to have ‘Normalized’ ProDataSets• Even if the underlying physical DB is not normal
• Helpful even for just 4GL coding of legacy systems
More ProDataSet Info
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 27
Step 1 – Define Temp Tables
/* dsOrderTables.i -- include file for TT def’s */
DEFINE TEMP-TABLE ttOrder LIKE OrderINDEX OrderNum IS
UNIQUE PRIMARY OrderNum.
DEFINE TEMP-TABLE ttOLine LIKE OrderLineBEFORE-TABLE ttOlineBefore
INDEX orderline IS
UNIQUE PRIMARY Ordernum Linenum.
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 28
Step 2 - Define the DataSet
/* dsOrderDef.i – DATASET dsOrder. */
DEFINE DATASET dsOrder FOR ttOrder, ttOLine
DATA-RELATION OrderLine FOR ttOrder, ttOLine
RELATION-FIELDS (OrderNum, OrderNum).
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 29
Step 3 – Define Query & DataSource
DEFINE QUERY qOrder FOR Order.
DEFINE DATA-SOURCE srcOrder FOR QUERY qOrder Order
KEYS (OrderNum).
DEFINE DATA-SOURCE srcOline FOR OrderLine.
/* Parent on query, child on the temp table *./
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 30
Step 4 – Prepare and Attach
/* Prepare the query */
QUERY qOrder:QUERY-PREPARE("FOR EACH Order NO-LOCK WHERE …”).“
/* Attach datasource before fill */
BUFFER ttOrder:ATTACH-DATA-SOURCE (DATA-SOURCE srcOrder:HANDLE).
BUFFER ttOLine:ATTACH-DATA-SOURCE (DATA-SOURCE srcOline:HANDLE).
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 31
Step 5 – Fill and Detach
/* Loads data from source into the PDS */
hDSOrder:FILL().
/*Detach datasources after fill */DO iBuff = 1 TO DATASET dsOrder:NUM-BUFFERS:
DATASET dsOrder:GET-BUFFER- HANDLE(iBuff):DETACH-DATA-SOURCE().
END.
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 32
Web Services
WSDL – Web Services Descriptive Lang.
SOAP – Simple Object Access Protocol
XML – eXtensible Markup Language
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 33
Progress Bits
4GL Code
AppServer
OpenEdge Web service tools• Open Client Toolkit - Development
• Web Services Adapter (WSA) - Deploy
• Progress Explorer framework
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 34
OpenEdge Development:Web Services
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 35
Agenda
Quick Definitions, Set Levels Things We Care About Progress Parts Some Code Discussion
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 36
Demo
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 37
Agenda
Quick Definitions, Set Levels Things We Care About Progress Parts Some Code Discussion
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 38
Things to consider
Screen Size
Use-ability and End User Skills
Processor/Memory Limitations
Not Desktop Replacements
June 5 – 8 2005Orlando INNOV-11 – Extending to the Factory Floor 39
Questions/Comments/Discussion
Thank You for Attending
Bob Brennan
Integrated Manufacturing Systems, Inc.
(603) 424-0109