28
Mastering Unreasonable Deadlines with Oracle APEX at the German Telecom Shops Dietmar Aust / Opal Consulting 15.06.2008

Mastering Unreasonable Deadlines with Oracle APEX at the German Telecom Shops Dietmar Aust / Opal Consulting 15.06.2008

Embed Size (px)

Citation preview

Mastering Unreasonable Deadlines with Oracle APEX at the German Telecom Shops

Dietmar Aust / Opal Consulting

15.06.2008

Page 2

ODTUG Kaleidoscope 2008Dietmar Aust

Agenda

Introducing Opal Consulting

The customer

Project AbiT The problem Choosing APEX The solution

Project ShopDB

Lessons learned

Page 3

ODTUG Kaleidoscope 2008Dietmar Aust

Introducing Opal Consulting

Dipl.-Inform. Dietmar Aust, Freelance Consultant Master's Degree in Computer Science (MSCS)

1997-2000: Consultant at Oracle Deutschland GmbH / Düsseldorf

Focus areas: PL/SQL, Oracle Reports, Oracle Forms, Oracle Portal, PLSQL Web Toolkit (OWA)

Seit 09/2000: Freelance Consultant Focus areas: Oracle Portal, Oracle Reports, Oracle

Application Express, Oracle Express Edition

Activities http://daust.blogspot.com/ http://forums.oracle.com/forums/forum.jspa?forumID=137

(APEX) http://forums.oracle.com/forums/forum.jspa?forumID=251

(XE)

Page 4

ODTUG Kaleidoscope 2008Dietmar Aust

T-Punkt Vertriebsgesellschaft mbH

Page 5

ODTUG Kaleidoscope 2008Dietmar Aust

T-Punkt Vertriebsgesellschaft mbH

1986: The first shops are opened

May 2004 : Founded as a subsidiary of the Deutsche Telekom

The T-Punkt Vertriebsgesellschaft is the only stationary distribution channel for the Deutsche Telekom in Germany

Handling of 60 million private customers and over 2.5 million business customers

Around 800 shops servicing customers on over 90,000 qm sales area.

More than 6000 employees

Page 6

ODTUG Kaleidoscope 2008Dietmar Aust

Project AbiTThe problem – Background information

The salaries of the employees have a fixed and a variable component, based on their sales success

Direct usage of the order management systems of the coroprate divisions (T-Com, T-Mobile)

The TPG gets compensated only for successful orders (credit rating, technical issues), but their employees not.

The gross sales revenue is relevant (agreement with labor union), but only the net revenue is transferred by the divisions

No realtime measuring of actual sales possible (no current figures for strategic decisions)

Workarounds Usage of tally sheets Usage of barcode scanners (40, 68, 90 scan codes) for

counting the sales

Page 7

ODTUG Kaleidoscope 2008Dietmar Aust

Project AbiTThe problem – Requirements

Management decision Agreement with labor union Time for design, implementation and pilot phase: 6 weeks! Severe financial impact in case of failure (130% compensation for

all employees)

Requirements Build an order entry system for around 5.000 employees Highly available (7 days per week, 07:00 – 22:00) Simplify the process of counting the gross sales (variable

compensation)− Audit proof

Enable real time monitoring of actual sales Document discounted hardware sales (bundle security)

− Compliance with state regulations

Four interfaces with existing systems (products, user accounts, shop information, actual sales)

Changing requirements until very late in the project

Page 8

ODTUG Kaleidoscope 2008Dietmar Aust

Project AbiTChoosing APEX

Why was APEX chosen? They didn‘t know about APEX J2EE was the preferred platform to implement web based

solutions

The deadline was too tight, the usual contractors couldn‘t deliver in that timeframe

Opal Consulting was chosen based on a recommendation

Thus: no technology discussion, just „do it“

Page 9

ODTUG Kaleidoscope 2008Dietmar Aust

Project AbiTThe solution – Technical architecture

Application Server (2): Fujitsu Siemens RX 300 S2, 2 HT CPUs, 8GB RAM, Linux RH AS4 Oracle Internet Application Server 10.1.3

Database (2 node RAC): Sun Fire V490 Server, 2 Dual Core CPUs, 8GB RAM, Solaris 10 Oracle 10.2, APEX 2.2.1

Mod_p

lsql

AbiT

- P

latf

orm

ClientsHardware Load

Balancer

Application Server

Oracle RAC 10.2

Mod_p

lsql

Sql*net

Sql*net

http

httphttp

http

Page 10

ODTUG Kaleidoscope 2008Dietmar Aust

Project AbiTThe solution - Performance and usage

Usage 3.500 users active per day ~ 25.000 orders per day 400.000 hits per day

Utilization Application Server:

− >95% idle

− #http Sessions: 30

Database Server− 30% (70% with only one node running)

− Sessions: 25-35 concurrent (per node)

− Dedicated, no Shared Server (MTS)

Page 11

ODTUG Kaleidoscope 2008Dietmar Aust

Project AbiTThe solution

Live demo

Page 12

ODTUG Kaleidoscope 2008Dietmar Aust

Project AbiTNext steps

It was planned as a temporary solution from the start Now online since 10/2006

The application will replaced by other systems in several steps

Direct interfaces will be established to transfer the required information directly from the divisions

=> the employees will have to enter the order only once

Page 13

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBThe problem

Deutsche Telekom long term goals Expansion strategy of new shops crucial

Missing the expansion target in 2006 Number of newly opened shops too low

Analysis showed major deficits No clear definition of tasks and responsibilites Lack of transparency, current state of processes Lack of communication, some tasks performed in

parallel by different teams Time to open a shop too long No central information system, wrong addresses

New rollout process was designed by external consultants

Page 14

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBRequirements

Implement a central shop database as a single „source of truth“

Consolidation and unification of different datasources Data consistency

Implement the new rollout process, based on a workflow engine

Clear responsibilites, deadlines per task

Read- / write access to be controlled via user roles

Automatic validation (geocoding) of each address to eliminate typos

Visualization of maps (shops and market information) Purchasing power, age distribution, competition

Process monitoring and historicization of modified data

Page 15

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBChallenges

The project plan was extremely ambitious Project kick off in April 2007 (customer analyzes requirements) First involvement in the middle of April First prototype in May Going live on 13.06.2007 (Version 0.6) Going live on 10.08.2007 (Version 1.0)

Existing MS Access applications Couldn‘t migrate everything in one step => stepwise migration The application was changed until late in the project (new

columns/data) Minimize downtime of the MS Access application The data model had to be redesigned

Many details of the requirements were unclear

=> extremely iterative approach with weekly prototypes Show stuff early Get them involved

Page 16

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBChoosing APEX

APEX was already established through the AbiT project Short development cycles Performant application platform No additional complex setup needed, just install another

application on the same infrastructure

Project team Two developers One project manager

Page 17

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBThe solution – technical infrastructure

Mod_p

lsql

AbiT

- P

latt

form

ClientsHardware Load

Balancer

Application Server

Oracle RAC 10.2

Mod_p

lsql

Sql*net

Sql*net

http

httphttp

http

Geo-

Kom

pon

ente

n

Geo / Application Server

Map visualization

Geocoding

http

http

MS Access Clients

ODBC / Sql*net

Page 18

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBThe solution – MS Access migration

Problems: Who builds these applications?

− MS Access power users, no true developers

Column names >30 chars and special characters used Direct migration of the data model not sensible Changing the data and data model until very late in the

project Short downtime

=> Solution: Normalizing the table and column names with a VBA script Database link from Oracle to MS Access (any ODBC data

source) ETL process to migration the data from MS Access to Oracle Layer of views in Oracle Linking the views via ODBC and creating views in MS Access

Page 19

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBThe solution – Workflow

S&A9B_OUTLETVORSCHLAG_AUFNEHMEN_TPPOutletvorschlag aufnehmen (Partner)

(Key Account Manager)

S&A10_STANDORT_ABSTIMMENStandort abstimmen

(Standortplaner)

P&E0B_ANSTOSS_UNTERLAGEN_TPPAnstoss zur Erstellung der

Prüfungsunterlagen (Partner)(Standortplaner)

P&E5_SAMMLUNG_BEWERTUNGSammlung Daten und Bewertung

Absatzprognose(Standortplaner)

Standort aufSuchliste?

P&E1_EINHOLUNG_SICHTPRUEFUNG

Einholung Sichtprüfung(Standortmanager)

P&E3_STANDORTEXPOSEStandortexpose erstellen

(Standortplaner)

P&E4B_ABSATZPROGNOSE_TPPAbsatzprognose erstellen

(ZVS)

2:NEIN

171:JA

3 4 5

P&E2_EINHOLUNG_MACHBARKEIT

Einholung Machbarkeitsstudie(Standortmanager)

6

7

8

P&E6_BC_BEWERTUNG_ABSATZErstellung BC und qual. Bewertung

Absatzprognose(Controlling)

P&E7_GF_VORLAGEErstellung GF-Vorlage

(Standortplaner)

P&E8_EINREICHUNG_GF_VORLAGEEinreichung GF-Vorlage in Umlaufverfahren

(Standortplaner)

10

11

12

P&E9_FEEDBACK_GF_GOFeedback GF go(Standortplaner)

13

P&E4C_ABSATZPROGNOSE_TPPEinholung partnerspez. Kosten und

Absatzprognose(Key Account Manager)

P&E4D_PROGNOSEN_KONSOLIDIEREN_TPP

Zusammenführung Absatzprognosen(Key Account Manager)

14

9 15

16

Page 20

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBThe solution – Workflow

Open Source pl/sql Workflow Engine http://plflow.sourceforge.net/ XPDL 1.0 compliant, no import/export

of processes Creation of processes via

table inserts No UI, just backend framework Easy to integrate and stable Process visualization possible

using Graphviz

Page 21

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBThe solution – Workflow

Role based tasklist

Email notifications New tasks Overdue tasks Embedded links to the task / shop

Page 22

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBThe solution – Workflow

Status information

Page 23

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBThe solution – Geocoding of addresses

Goals Unambiguous spelling of addresses

− No more typos!

Usage of coordinates− Make sure a certain distance

between shops

Software JCoder Business (infas Geodaten)

Page 24

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBThe solution – Workflow

Visualization Addresses / shops Layers of information

Software MapSuite (infoware) Market data (infas Geodaten)

Page 25

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBThe solution

Live demo

Page 26

ODTUG Kaleidoscope 2008Dietmar Aust

Project ShopDBNext steps

Implement more processes to support the full lifecylcle of a shop

More processes after the decision to open the shop

Implement remaining functionality of the MS Access application

Establish the ShopDB as the leading system for all shop relevant information in the TPG

Tenacy agreements Monitoring the costs Cutting down costs Reclaim accounting differences from the service provider

Current release went production on 12.06.2008

Page 27

ODTUG Kaleidoscope 2008Dietmar Aust

Lessons learnedMajor benefits of APEX

Leverage existing Oracle skills !!! Developers can become productive very fast No steep learning curve

Good separation from business logic and the UI (themes and templates)

Rapidly incorporate design changes, very flexible Changed requirements until late in the project

Excellent tool for RAD or agile development

Strongly iterative approach (weekly prototyping) delivers very high customer satisfaction

Get them involved!

Oracle heterogenous services are cool!

Page 28

ODTUG Kaleidoscope 2008Dietmar Aust

Contact: Opal-Consulting Dietmar Aust Web: http://www.opal-consulting.de Blog: http://daust.blogspot.com/ E-Mail: [email protected]

Q & A