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

Post on 16-Dec-2015

217 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

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

top related