XML 2002 logo

Mobile GPS Demonstration Platform - Project Description

Abstract

The purpose of the Mobile GPS Demonstration Platform (MGDP) project is to demonstrate a proof of concept for the integration of a number of emerging technologies including: Embedded/Realtime Java, Mobile, position-based applications, GPS (Global Position System) technologies, Wireless/Mobile connectivity, XML-based technologies (Web Services. XML, SOAP, WSDL, JAX-RPC, etc.), and server-side J2EE (including EJB and DBMS persistence). The MGDP has been constructed using commonly available, inexpensive hardware and software to illustrate that applications of this nature are very feasible using existing tools and technologies. It is hoped that the MGDP project inspires others to push the threshold of what can be done with position-based computing, XML-based technologies and the Java platform.

click image for full size view

Keywords

»GPS, »J2EE, »SOAP, »Web Services, »XML.

Table of Contents

1. MGDP Introduction
1.1. MGDP Topology
2. MGDP Hardware
2.1. MGDP Mobile Vehicle Hardware
2.2. Systronix JStamp Controller
2.3. aJile Java Processor
2.4. MGDP Web Service (J2EE Server) Hardware
2.5. MGDP Client Workstation Hardware
3. MGDP Software
3.1. MGDP Mobile Vehicle Software
3.2. MGDP Web Service (J2EE) Server Software
3.3. MGDP Client Mapping Application
3.4. MGDP Development Environment and Tools
4. MGDP XML Technologies
5. MGDP Future Directions
6. MGDP Project Sponsors
6.1. aJile Systems
6.2. Systronix
6.3. Chaeron Corporation
Biography

Note

This talk was cancelled by the presenter.

1. MGDP Introduction

The Mobile GPS Demonstration Platform (MGDP) project demonstrates a proof of concept for the integration of a number of emerging technologies including: Embedded/Realtime Java, Mobile, position-based applications, GPS (Global Position System) technologies, Wireless/Mobile connectivity, Web Services (XML, SOAP, WSDL, JAX-RPC, etc.), and server-side J2EE (including EJB and DBMS persistence). The MGDP has been constructed using commonly available, inexpensive hardware and software to illustrate that applications of this nature are very feasible using existing tools and technologies.

The MGDP project consists of three major components:

  • The MGDP Mobile Vehicle is built upon a Radio-Shack RC (Radio Controlled) truck platform, equipped with an Embedded Java Processor, GPS Receiver and Wireless Communication to the Internet which regularly transmits it’s current PVT (GPS Position/Velocity/Time) data using SOAP over HTTP to a back end Web Service over a wireless link to the Internet. The Mobile Vehicle also accepts remote commands to turn various functions on/off (siren/flasher/headlights).

  • A MGDP Web Service (built on a J2EE server platform) that accepts real-time PVT information from the Mobile Vehicle and persists both the current and historical information. The Web Service also acts as a gateway that forwards commands to turn various Mobile Vehicle functions on/off (siren/flasher/headlights).

  • A MGDP client application that displays the current and historical position information for the Mobile Vehicle on a moving map display by accessing the position data from the MGDP Web Service. MGDP client application can use static map images (eg. .jpg) or can access USGS Aerial Satellite map images of the continental USA from the TerraServer web service. The client application also exposes a UI that allows a remote user to turn various Mobile Vehicle functions on/off (siren/flasher/headlights). Two distinct client mapping applications have been built: a Swing-based standalone application, and a server-based Browser interface. The functionality of both these implementations are identical.

The following sections describe, in some detail, the topology, hardware and software components that have been employed in constructing the MGDP project.

It is hoped that the MGDP project inspires others to push the threshold of what can be done with Embedded/Real-Time Java processors, position-based computing, XML-based technologies and the Java platform.

1.1. MGDP Topology

click image for full size view

Figure 1. MGDP Topology

2. MGDP Hardware

2.1. MGDP Mobile Vehicle Hardware

The MGDP Mobile Vehicle incorporates the following hardware:

  • Radio Shack RC (Radio Controlled) Truck

  • Systronix JStamp Real-Time/Embedded Java Board.

  • aJile Real-Time/Embedded aJ80 Java chip (on Jstamp board)

  • Consumer GPS receiver with serial port interface (Garmin eTrex Summit)

  • Consumer Wireless Connection device (Motorola GPRS mobile phone)

  • Custom built hardware interfaces between JStamp and external devices (siren/flasher/headlights)

  • Various custom cables

  • Normal battery power is used for all devices.

click image for full size view

Figure 2. MGDP Mobile Vehicle (GPS and Flasher visible at rear)

The MGDP Mobile Vehicle movement is controlled by an operator using the standard RC (Radio Controlled) joystick device.

While in motion, the MGDP Mobile Vehicle JStamp controller reads obtains GPS PVT (Position/Velocity/Time) information from the GPS Receiver across a standard RS-232 serial port connection. It then transmits this information in real-time across a second serial port to the Internet across the wireless connection device to the back-end Server that persists this information. The back-end server returns indicators that tell the JStamp controller whether the siren, headlights or flasher should be turned on or off.

2.2. Systronix JStamp Controller

click image for full size view

Figure 3. Closeup of Systronix JStamp controller with aJile Java Chip

JStamp uses the powerful new aJ-80 native Java processor from aJile Systems This provides fast and efficient Java instruction execution, plus a small memory footprint - 2 to 3 times denser than code for 32-bit RISC machines. The aJ-80 includes a microprogrammed real-time Java thread manager so that a typical RTOS is not needed. It includes Java threading primitives implemented as atomic instructions, a priority-based preemptive scheduler, extremely fast context switching and interrupt response. The aJ-80 supports multiple application execution through “multiple JVMs”. Applications execute in a deterministic, time-sliced schedule. Each application has its own thread management and event handlers.

click image for full size view

Figure 4. JStamp is tiny!

JStamp is ready for serious work with 512 KBytes of SRAM and 512 KBytes of Flash (2 MBytes on JStamp+). Code can be executed from flash or SRAM. JStamp has five 24- mA I/O pins plus seventeen 8-mA pins (some of which also serve the UART and SPI functions). JStamp includes a SPI interface for easy peripheral and I/O expansion. The Jstamp development station adds hardware support for RS-232 serial I/O, and - very soon plug- on JSimm modules for Dallas 1-Wire network, CAN network, IrDA, RF, graphic LCD, analog I/O, power relays, and more. Of course, many current simmstick modules are JSimm compatible.

JStamp uses a JTAG interface for programming and debugging with aJile's JEM Builder and Charade development tools. JTAG pods are available from Systronix and Xilinx. Software requires Windows 98/NT/2000 and a PC parallel port.

2.3. aJile Java Processor

aJile networked Java direct execution processors combine several innovative technologies to efficiently, safely, and robustly execute Java in wide variety of low-power embedded systems. The aJ-80 that is used in the JStamp is derived from the ground- breaking JEM™ Java processor that was first developed at Rockwell Collins. Incorporating direct execution of more than 99% of all Java bytecodes, and with an embedded thread manager that eliminates the need for an external real-time operating system (RTOS), the aJ-80 is the perfect Java processor for low-cost, low- power embedded applications.

click image for full size view

Figure 5. aJile Processor Chip

aJile technologies include:

  • JVM bytecode execution: Software interpretation is a drag on performance. Java is the native instruction set for all of aJile's microprocessor and microprocessor cores. With more than 99% of Java bytecodes micro-programmed in hardware, aJile MPUs deliver unparalleled Java execution with a memory footprint that is 2 to 3 times more compact than similar 32- bit RISC applications.

  • Microprogrammed real-time Java thread manager: aJile MPUs don't require an extra RTOS software layer. The on-chip real-time thread manager performs priority-based preemptive scheduling with extremely fast context switch times -- less than 1us.

  • Multiple application execution: Embedded system designers enjoy the security and reliability of multiple JVMs when they develop aJile-based products. Discrete software applications are memory protected with selectable code and data sharing. Each application has its own thread manager and event handlers. And applications can implement unique memory management and garbage collection policies.

  • Custom instructions for application specific optimizations: aJile's flexible architecture enables embedded system designers to optimize their Java applications. Using extended Java bytecodes and standard programming tools, designers can implement custom instructions that deliver 5X to 10X performance improvements.

  • Embedded programming tools: System designers can use commercial Java IDEs to easily build and debug their embedded applications on aJile MPUs and MPU cores.

  • Integrated peripherals: aJile MPUs and MPU IP cores include a complete portfolio of peripherals. Timers and interrupt controllers, memory and memory controllers, and a variety of communication interfaces are all integrated into the aJile architecture.

  • Integrated power management: Mobile applications can go Java with aJile's comprehensive power management strategies, including sleep and standby modes that maximize battery life.

2.4. MGDP Web Service (J2EE Server) Hardware

The MGDP Web Service is built upon the following hardware:

  • 300 mhz Intel Pentium PC

  • DSL connection to the internet

2.5. MGDP Client Workstation Hardware

The MGDP Client Workstation is built upon the following hardware:

  • Intel Pentium PC or any HTML browser-equipped device

  • Standard TCP/IP connection to the internet

3. MGDP Software

3.1. MGDP Mobile Vehicle Software

While in motion, a custom MGDP Java application uses the Chaeron Java GPS Access Library (a cross-platform GPS library that runs on almost any device supporting Java) to obtain GPS events that contain PVT (Position/Velocity/Time) data in real time. The application uses the kSoap library (a very small footprint web services library, designed for embedded devices) with a custom-written HTTP Transport handler to invoke a Position Tracking web service using SOAP across the internet (over a wireless link) to send it’s PVT information (along with detailed GPS NMEA data) to the back end service. The SOAP response from the Position Tracking web service is parsed to retrieve indicators that that determine whether the siren, headlights or flasher should be turned on or off.

The Mobile Unit uses the following software on the JStamp/aJile processor:

Software Version Function
aJile CLDC/MIDP Runtime 3.14 Core Java functions and HTTP network connectivity
Chaeron Java GPS Access Library 0.97 GPS interface and protocol parsing
Enhydra kSoap and kXML 1.0 Web Services/SOAP/XML Parsing over HTTP
Chaeron MGDP custom code N/A Overall demo application, glue and custom functions

Table 1. 

3.2. MGDP Web Service (J2EE) Server Software

The back-end J2EE-based web service tracks and persists the Mobile Unit PVT (Position/Velocity/Time) information using a JAX-RPC SOAP interface running on the Apache Tomcat servlet engine. The data is persisted to a relational database using EJB components. Web Services interfaces are provided to retrieve the current Mobile Vehicle position information along with an interface that can be invoked to remotely control whether the Mobile Vehicle siren, headlights or flasher should be turned on or off. A WSDL definition is provided which defines the MGDP Web Services interfaces.

The MGDP Web Service (J2EE) Server Software uses the following software::

Software Version Function
JBoss 2.4.4 J2EE EJB Container
Apache Tomcat 4.0.2 J2EE Servlet Container
Sun Java Web Services Dev Pack 1.0_1 Web Services, SOAP, XML, JAX-RPC
Struts 1.0.2 JSP Presentation Layer Framework
Cocoon 2.0.1 XML/XSLT Presentation/Rendering Pipeline
Castor JDO 0.9.3.9 Java data binding framework
MySQL 4.0.1 Relational Database for persistent storage
Chaeron MGDP custom code N/A Overall server application and custom functions
Sun Java JDK 1.4 and 1.3.1 Java Runtime
Redhat Linux 7.2 2.4 Kernel Server OS

Table 2. 

3.3. MGDP Client Mapping Application

The MGDP Client Mapping Application uses a JAX-RPC SOAP interface to the MGDP Web Service to discover the current and historical position of the Mobile Vehicle. It then displays this information, using Swing or a Browser interface, on a moving map display. Images for the map display are obtained either from static scanned map images (.jpg) or can be obtained in real-time from the TerraServer Web Service (a publicly available web service implemented using Microsoft’s .NET) which provides USGS Aerial Satellite maps for the whole of the continental USA. The MGDP client application also provides to select the source of the map (TerraServer or Scanned), the type of map (Aerial satellite photo, Topographic or Relief) and the map resolution (from 1 meter up to 16 km per pixel). The Client Mapping App also allows the remote user to turn on/off the Mobile Vehicle siren, headlights and/or flasher.

click image for full size view

Figure 6. MGDP Client Mapping App: Displaying position on a static Topo street map (screenshot)

click image for full size view

Figure 7. MGDP Client Mapping App: Displaying position on a TerraServer supplied Aerial Satellite view (screenshot)

The MGDP Client Mapping Application uses the following software:

Software Version Function
Sun Java Web Services Dev Pack 1.0_1 Web Services, SOAP, XML, JAX-RPC
Chaeron MGDP custom code N/A Overall client application and custom functions
Java Swing UI Library 1.4 and 1.3.1 Graphical, moving map display
Sun Java JDK 1.4 and 1.3.1 Java Runtime
TerraServer Web Service N/A USGS Satellite Arial map images (Microsoft .NET)

Table 3. 

click image for full size view

Figure 8. MGDP Browser–based Mapping Client: Displaying position on a TerraServer supplied Aerial Satellite view (screenshot)

3.4. MGDP Development Environment and Tools

Various tools were used on all platforms (Mobile Vehicle, Web Service Server and Client Mapping Application) to develop, debug and test the MGDP software.

Some of the primary MGDP Development tools included:

Software Version Function
Sun JWSDP xrpcc tool 1.0_01 JAX_RPC, SOAP and WSDL Generation
Apache ANT 1.4.1 Build tool (XML-based makefiles)
JSWAT 1.5.2 Java Debugger
aJile JEMBuilder/Charade 3.14 Build/Run tools for the JStamp/aJile platform
JPadPro 4.2 Java source code editor
CapeClear NetTool 1.0 SOAP Message Monitoring/Transmission testing tool
Sun Java JDK 1.4 and 1.3.1 Java Runtime

Table 4. 

4. MGDP XML Technologies

The MGDP project makes extensive and ubiquitous use of XML technologies in all three major components: The Mobile Vehicle platform, the Web Service (J2EE) Server and both flavours of Client display (browser and Swing-client)

XML creation and parsing is done on the embedded Java processor found on the MGDP Mobile Vehicle. Vehicle PVT (Position, Velocity, Time) information is dynamically encoded as XML for transmission and logging to the back end Web Service. Information about the operation of the "gizmos" (eg. headlights, siren and flasher) are likewise received from the Web Service in XML form and parsed on the embedded processor. To keep the performance and footprint of the XML parsing code small enough to run on the embedded Java processor, Enhydra's kXML and kSOAP libraries were used, with some code modifications.

The MGDP Web Service XML/SOAP parsing code is generated by the Sun JWSDP toolkit and is transparent to the J2EE code base. However, the Web Service WSDL definition was designed to be able to track many simultaneous remote vehicles (or in fact, any remote device that has an internet connection and can issue Web Services requests).

The MGDP client display again uses Web Service XML/SOAP parsing code that is generated by the Sun JWSDP toolkit when communicating with the MGDP Web Service to obtain current location information about a remote vehicle. It also uses similarily generated XML/SOAP requests to talk to the Microsoft TerraService (a .NET-based web service) to obtain aerial satellite photographs of the vehicle's location. The moving map client display code also uses XML-based configration files to control it's operation (eg. file locations, cache settings, Web Service URLs, etc.). These configuration files are read and parsed using a SAX-based parser and Java SAX API calls.

Some preliminary use of the Cocoon XML Pipeline was made in generating the browser-based Client Tracking pages. More extensive use of XML pipelining is planned for a future phase of the MGDP project.

The Java GPS Access Library (open source from Chaeron Corporation), which is used on the Mobile Vehicle to interface with the GPS hardware, also generates and/or saves GPS position information using the GPSml XML markup language (the GPX schema may be supported in the future). The GPSml schema is a work in progress, intended to be a global standard for the representation of position-based information.

As you can see, XML provides the core foundation and interoperability infrastructure for the whole MGDP project, enabling seamless communication between mobile embedded processors, server-side web services, client mapping displays and even between J2EE and .NET technologies. In many cases the SOAP/XL parsing/plumbing code was automatically generated by higher-level Java-based toolkits, but that does not lessen the importance and ubiquity of XML as the foundation of the MGDP project.

Display and debugging tools (such as CapeClear's NetTool) that allow you to view the SOAP envelope and XML document payload making up a Web Services request/response were invaluable in finding incompatibilities between all of the intercommunicating pieces of the MGDP project. These tools were also used to decouple the testing of the various components, since SOAP/XML documents could be submitted to a MGDP component "on the fly" and thus validate it's proper operation without requiring the other components to be finished or even operational.

Development of a project like MGDP, despite the availability of automated tools and the promise of global interoperability, still requires "getting your hands dirty" with XML and SOAP, due to the nascent nature of the current tools, servers and software products.

5. MGDP Future Directions

The MGDP project is intended to evolve and encompass other emerging and novel technologies to demonstrate the potential of the integration of technologies such as: Embedded/Realtime Java, Mobile, position-based applications, GPS (Global Position System) technologies, Wireless/Mobile connectivity, Web Services (XML, SOAP, WSDL, JAX-RPC, etc.), and server-side J2EE (including EJB and DBMS persistence).

New functions and features will be added in the future. Some examples which are being actively considered for implementation in MGDP include, in no particular order:

  • Bluetooth support. (in Phase 2 of MGDP, should be in place for XML 2002)

  • Storage and retrieval of position data using the GPSml or GMX markup language standards.

  • More extensive use of Cocoon XML pipelines

  • Integration of Embedded Java processor, GPS and Wireless devices into a smaller, more integrated form factor (eg. single board/single chip solutions)

  • Onboard vision/imaging system which sends real-time images captured by the MGDP Mobile Vehicle to the back-end web service and client applications

  • Voice transmission from/to the MGDP Mobile Vehicle.

  • LCD Message display capability on the MGDP Mobile Vehicle

  • Retrieval of messages posted in “mid-air” by the MGDP Mobile Vehicle.

  • Position-enabled “guide” applications (eg. museum, art gallery, national monuments, etc.)

  • Indoor position determination.

  • Generic tracking Web Service for multiple mobile users.

  • JXTA support for position information dissemination.

  • UDDI registry for position tracking web services.

  • Security/Encryption support for position data

  • Remote control of MGDP Mobile Vehicle movements from a client workstation application.

  • Whatever else we think has a high “coolosity” appeal.

  • Suggestions from the Embedded/Real-Time Java, XML and Web Services communities.

6. MGDP Project Sponsors

6.1. aJile Systems

click image for full size view

The power of computing is moving beyond the desktop. The Internet is bringing a new generation of smart, distributed, networked applications to an incredible new array of consumer devices: smart phones, smart cards, PDAs, set-top boxes, information kiosks -- even gas pumps.

aJile Systems, Inc. is at the forefront of this evolution. Founded by a team of technologists who developed the world's first direct-execution processor for the Java™ platform, aJile develops and markets a family of microprocessors and IP cores that deliver high-performance, low-power and low-cost execution to embedded applications. aJile's innovative processors have been used by Mitsubishi Electric, and many other system developers who are leading the revolution.

aJile Systems was formed in July 1999 by a group of technologists from Rockwell Collins, Sun Microsystems, and Centaur Technologies. The principals of aJile Systems share a common belief that the rapid proliferation of Java technology, the Internet, and recent advances in CMOS process technology are extending the Java paradigm beyond the desktop and server. By providing a family of low-power networked single-chip Java microprocessors and IP cores, which includes a real-time kernel, aJile's founders are helping to bring the Java revolution to a wide variety of handheld, mobile and consumer appliances.

While still at Rockwell Collins, aJile's principals led a team responsible for the development of the JEM1, the world's first direct execution Java microprocessor, which achieved its first silicon in July, 1997. JEM technology enables low-power embedded applications to be programmed entirely and directly in Java and at the same time to achieve the efficiency and performance of comparable conventional embedded processors programmed in C.

aJile licensed Rockwell's JEM technology and is developing the aJile family of processors for low-power embedded networked applications.

Contact Information:

aJile Systems
920 Saratoga Ave, Suite 209
San Jose, CA 
USA  95129

Phone: 	408-557-0829
Fax: 	408-557-8279

Email:	info@ajile.com

Web:	http://www.ajile.com

6.2. Systronix

click image for full size view

Systronix’s mission is to deliver embedded control development systems of exceptional value.

Systronix specializes in the 8051 family of 8-bit microcontrollers, and is particularly experienced with the Dallas 8051 supersets. In addition to the standard products you can see on the Systronix web site, Systronix has developed numerous commercially successful systems (and some not-so-successful) which are in use around the world today. Systronix has been in business since 1986 - long enough for many of our customers to have changed names more than once! Systronix is a privately held corporation.

Systronix manufactures and sells a number of products that incorporate the aJile Java chips, including:

Product Description
JStamp Revolutionary Real-Time Native Java Module. Tiny, low-power, low-cost, easy to use.
SaJe and JStik Blazingly fast 32-bit real-time aJile controller executes Java natively
SBX2 Plug-on support for LCD, keypad, 24 I/O bits, RS485/ RS232/IrDA
8x1-Wire I/O Board Plug on multiples of 8 digital I/O points to any 1-Wire network.
TILT and TILT.CAN A low cost TINI sockets board complete with ethernet, 1- wire, RS232, power regulator and optional CAN interface.

Table 5. 

Collectively, Systronix' employee's experience spans the development of the first commercial digital audio recording systems (at Soundstream), early optical recording technology development (at Digital Recording Corp), multi-microprocessor CPU design in 1982 (IBM, using 68000s), and numerous other technologies, most of which are now relics. We've created ASICs used in telecomm and high-end graphics systems.

Contact Information:

Systronix
555 South 300 East, 
Salt Lake City, Utah, 
USA  84111

Phone: 	801-534-1017
Fax: 	801-534-1019

Email:	info@systronix.com

Web:	http://www.systronix.com

6.3. Chaeron Corporation

click image for full size view

Chaeron Corporation provides software consulting services and was founded 10 years ago to assist corporations in the management, architecture, design, development and deployment of distributed applications and systems. Chaeron specializes in Web Services, Java, J2EE, EJB, Enterprise Messaging (JMS), GPS (position-based), B2B, EAI, and eCommerce systems.

Chaeron has extensive experience and a proven track record in leveraging the use of cross-platform, Web Services tools such as Sun's Java, J2EE (BEA Weblogic, Gemstone/J, WebSphere), Fiorano's Message Queue (FMQ),and Java Message Queue (JMQ), Blaze Software's Advisor and other tools in an service-oriented architecture. Expertise with a variety of database management systems (Oracle, Sybase, etc.) is coupled with real-world use of technologies such as Java, C++, MOM (Message Oriented Middleware), Java Message Service (JMS), Enterprise Java Beans (EJB), Web Services (XML, WSDL, SOAP, UDDI, ebXML) and CORBA to facilitate the development of robust business applications. Chaeron excels in utilizing these cutting edge technologies and tools in the delivery of mission-critical business applications and the implementation of B2B, EAI and eCommerce systems using best-practices service-oriented architectures.

Chaeron Corporation also has extensive expertise in position-enabled applications. We offer many services to clients looking for location and GPS-enabled solutions, including consulting, design, custom development and more, on platforms that span consumer devices (eg. Handheld /PDA's, mobile phones), embedded Java and wireless platforms, desktops (PC/Mac/Linux in C/C++ or Java) and servers (unix, linux and mainframes).

Chaeron developed the open-source, Java-based GPS Access Library which was used as the core software foundation for the MGDP, and provided custom software development for the project. Chaeron Corporation has also developed and continues to enhance the GPSml markup language standard (XMLSchema) for GPS/position data encoding. The Chaeron GPS Java Access Library and GPSml can be downloaded from the Chaeron web site.

Chaeron consists of a battle-hardened and experienced team of technology specialists (aka: the codestuds) that is intensely motivated and hyper-productive in achieving client goals. Chaeron’s sterling track record is in part due to extensive experience in managing large, international, multi-location advanced technology projects, combined with comprehensive capabilities in Executive/Team/Project Management, Business Analysis, Architecture, Design, Development and Quality Assurance/Testing. Chaeron also brings strong executive management, inter-personal skills, successful development methodologies and industry expertise to the table to define user requirements and ensure that the final product is functional, on time and under budget.

Contact  Information:

Chaeron Corporation
2040 Penetanguishene Road
Springwater, Ontario
Canada  L4M 4Y8

Phone: 	705-791-3996
Fax: 	705-792-2043

Email:	corp@chaeron.com

Web:	http://www.chaeron.com

Biography

Mr. Taramina has a long track record of creating, motivating and leading hyper-productive development teams in startup/new-venture environments. By way of example, the last team that he built and lead (as a CTO and Chief Architect) developed a half a million lines of quality production software in less than a year with only 3.5 man-years of developer time invested.

Recently, Mr. Taramina created Service-Oriented Architecture, Web Services and ebXML strategies/recommendations for a top-tier, Fortune 5 domestic Automobile Manufacturer. In addition to this, Andrzej built and directed a multi-partner team that broke new ground implementing the first integrated, end-to-end ebXML implementation that spans modeling business processes, integration of back end fulfillment systems (using Web Services), partnering processes (negotiation, etc.), execution of transactions and management of the end-to-end solution.

Andrzej is a popular speaker at industry conferences (JavaOne, RubiCon, AMI-C, AIAG and others), and has been instrumental in closing a number of startup and new-venture deals from a business deal perspective. Recently, he was pivotal in landing $25M+ international Financial Services eCommerce joint-venture partnership, helped close a $10M+ middleware software partnership and distribution agreement and was instrumental in profitable sale ($35M+) of domestic eBusiness assets, operations and smooth transfer of staff.

On the technology side, Andrzej designed/developed an open source GPS Access library that runs unchanged on any platform that supports Java (it runs unchanged on Macs, PC's, PDA's and even Embedded Java-on-a-chip hardware such as the aJile products) and is also XML-enabled. Recently Mr. Taramina designed and released a GPS Markup Language (GPSml XML and XMLSchema) for GPS-generated data that will provide an industry-standard way of communicating position-related information between disparate systems. Andrzej also collaborated with a number of hardware vendors on the MGDP project. There is more information available on Andrzej's GPS and XML initiatives at the Chaeron corporate web site.

He's currently working on Phase 2 of the MGDP project, which will add Bluetooth wireless connectivity and other features to the project, and providing strategic consulting to Fortune 1000 companies regarding Service-Oriented Architectures such as Web Services, ebXML and J2EE.