june 5 – 8 2005 orlando innov-11: extending openedge and.net™ to the factory floor bob brennan...

39
June 5 – 8 2005 Orlando INNOV-11: Extending OpenEdge and .NET™ to the Factory Floor Bob Brennan Integrated Manufacturing Systems, Inc.

Upload: marisol-jacox

Post on 16-Dec-2015

217 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: June 5 – 8 2005 Orlando INNOV-11: Extending OpenEdge and.NET™ to the Factory Floor Bob Brennan Integrated Manufacturing Systems, Inc

June 5 – 8 2005Orlando

INNOV-11:Extending OpenEdge and

.NET™ to the Factory Floor

Bob Brennan

Integrated Manufacturing Systems, Inc.

Page 2: June 5 – 8 2005 Orlando 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

Page 3: June 5 – 8 2005 Orlando 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 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

Page 4: June 5 – 8 2005 Orlando 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 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

Page 5: June 5 – 8 2005 Orlando 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 5

Define .NET

Microsoft’s Platform for Web Services

Page 6: June 5 – 8 2005 Orlando 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 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

Page 7: June 5 – 8 2005 Orlando 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 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

Page 8: June 5 – 8 2005 Orlando 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 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

Page 9: June 5 – 8 2005 Orlando 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 9

Agenda

Quick Definitions, Set Levels Things We Care About Progress Parts Some Code Discussion

Page 10: June 5 – 8 2005 Orlando 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 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

Page 11: June 5 – 8 2005 Orlando 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 11

Web Services

Page 12: June 5 – 8 2005 Orlando 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 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

Page 13: June 5 – 8 2005 Orlando 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 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)

Page 14: June 5 – 8 2005 Orlando 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 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

Page 15: June 5 – 8 2005 Orlando 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 15

Sample Devices – Lots of Choice

Page 16: June 5 – 8 2005 Orlando 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 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

Page 17: June 5 – 8 2005 Orlando 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 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”

Page 18: June 5 – 8 2005 Orlando 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 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

Page 19: June 5 – 8 2005 Orlando 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 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

Page 20: June 5 – 8 2005 Orlando 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 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.

Page 21: June 5 – 8 2005 Orlando 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 21

Recent Past

Client Server via Telnet• Needs Constant Connection

Browser Based• Limited UI

Java™ • Runtime Availability/ Processor Speed

Page 22: June 5 – 8 2005 Orlando 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 22

Agenda

Quick Definitions, Set Levels Things We Care About Progress Parts Some Code Discussion

Page 23: June 5 – 8 2005 Orlando 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 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

Page 24: June 5 – 8 2005 Orlando 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 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

Page 25: June 5 – 8 2005 Orlando 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 25

OpenEdge™ Development:ProDataSets by John Sadd

Page 26: June 5 – 8 2005 Orlando 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 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

Page 27: June 5 – 8 2005 Orlando 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 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.

Page 28: June 5 – 8 2005 Orlando 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 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).

Page 29: June 5 – 8 2005 Orlando 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 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 *./

Page 30: June 5 – 8 2005 Orlando 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 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).

Page 31: June 5 – 8 2005 Orlando 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 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.

Page 32: June 5 – 8 2005 Orlando 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 32

Web Services

WSDL – Web Services Descriptive Lang.

SOAP – Simple Object Access Protocol

XML – eXtensible Markup Language

Page 33: June 5 – 8 2005 Orlando 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 33

Progress Bits

4GL Code

AppServer

OpenEdge Web service tools• Open Client Toolkit - Development

• Web Services Adapter (WSA) - Deploy

• Progress Explorer framework

Page 34: June 5 – 8 2005 Orlando 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 34

OpenEdge Development:Web Services

Page 35: June 5 – 8 2005 Orlando 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 35

Agenda

Quick Definitions, Set Levels Things We Care About Progress Parts Some Code Discussion

Page 36: June 5 – 8 2005 Orlando 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 36

Demo

Page 37: June 5 – 8 2005 Orlando 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 37

Agenda

Quick Definitions, Set Levels Things We Care About Progress Parts Some Code Discussion

Page 38: June 5 – 8 2005 Orlando 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 38

Things to consider

Screen Size

Use-ability and End User Skills

Processor/Memory Limitations

Not Desktop Replacements

Page 39: June 5 – 8 2005 Orlando 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 39

Questions/Comments/Discussion

Thank You for Attending

Bob Brennan

Integrated Manufacturing Systems, Inc.

(603) 424-0109