More than 20 years of experience from the Oil & Energy Sector, industry, finance and public institutions.
I've been tinkering with computers, programming, and later software architecture since the early 80'ties,
and must admit that I've rather fond memories of the time spent developing my first programs on an
Acorn BBC model B.
A bunch of boys, whose highlight on a rainy day, would be to successfully save a few hours’ worth
of wrangling with the computer to a tape deck.
|
|
I'm curios by nature, and rather fond of reading.
Over the years I've been lucky enough to have the opportunity to work on really interesting tasks - most of them related
to the Oil & Energy Sector, developing high performance servers and distributed solutions. My work has allowed me to
explore ideas and design solutions for:
- High Performance Computing
- Optimization and Operations Research
- Model Driven Architecture and Code Generation
- Real-Time Distributed Solutions
- Integrated Operations
- Enterprise Architecture
- Visualization
|
|
I was the architect and lead developer for Onshore Operations Centre/Optimum Online from 1999 until early 2009.
This was, as such things go, a fairly challenging task that brought me into contact with people around the
globe. We leveraged open source projects such as Douglas C. Schmidts' ACE and TAO.
This was a great learning experience, as some of the best and the brightest C++ developers around;
where active members of the ACE and TAO community. It still tickles my vanity that I've made a few
contributions to a framework that provides critical services to millions of people each day.
Who's using ACE & TAO.
This experience taught me how to design robust and maintainable solutions, and contributed significantly
to the robustness of Onshore Operations Centre/Optimum Online.
During my professional career I've worked with many technologies.
Relational Database Management:
- Oracle RDBMS versjon 7-11
- Microsoft SQL Server versjon 6.5, 7, 2000, 2005, 2008
- IBM DB2 versjon 5-8
- MySQL 5
- PostgreSQL versjon 7-8
- Interbase
- Sybase
Programming languages:
- C#
- C/C++
- Java
- Delphi
- ActionScript
- JavaScript
- Perl
- Transact SQL
- PL/SQL
Internet, Middleware & Application Servers:
- COM
- SOM
- SOA
- Corba
- WebSphereMQ
- MicroSoft Message Queuing
- CICS
- Tuxedo
- J2EE
- Glassfish
- Sun Application Server
- Websphere
- WebLogic
- RemObjects SDK
- SOAP, Rest, Xml-RPC
- TCP/IP
- UDP
Web:
- Html
- Microsoft Visual Studio, Active Server Pages (Asp.Net)
- SilverLight
- Java Server Pages (jsp)
- Adobe DreamWeaver
- Adobe Flex
- Adobe Flash
- SharePoint
- DotNetNuke
Graphic Design Tools:
- Adobe Photoshop
- Adobe Illustrator
- Adobe Fireworks
- Corel Painter
Name:
|
Espen Harlinn
|
Born:
|
31.03.1967
|
Marital status:
|
Partnered
|
Address:
|
Stokkedalslien 5
5155 BØNES
|
Goodtech Projects & Services AS
|
Software Architect, Senior
|
Customers:
|
Statoil, Norsk Hydro, Statkraft, Goodtech Projects & Services AS
|
Period:
|
2010 - present
|
Description:
|
Goodtech.IO: A framework that simplifies the development of tcp/ip based servers and clients.
OPC UA Data Access server for the Goodtech databox.
Goodtech DX: A distributed entity framework on top of Microsoft Message Queuing,
Windows Communication Foundation (WCF), and Oracle RDBMS for the Microsoft .Net Platform in C#.
Statoil Oseberg C: Chemicals Injection - Monitoring and reporting. Microsoft Office SharePoint Server 2007, AspenTech IP 21, C#
Promaps: Optimization and Operations Research, User Interface
|
Roles:
|
Architect, Development
|
Technology:
|
- Programming: C++, C#
- Database: Microsoft SQL Server, Oracle RDBMS, AspenTech ip21
- Middleware: Windows Communication Foundation, MSMQ
- Web: ASP.Net, SharePoint & DevExpress XAF
|
Elan It
|
Senior Software Architect
|
Customers:
|
AMC-Technology
|
Period:
|
2009 - 2010
|
Description:
|
Designed and developed AMC-Asset Portal, a distributed event driven real-time solution for
collecting and distributing information.
Designed and developed a SoA based virtual file system. Client user interface was implemented in
c# using Silverlight.
Contributed in to the process of completing eList, a light weight manufacturing execution system (MES), for use at Framo Mongstad AS.
Contributed to the development of eList OEE, a solution calculating and visualizing optimal equipment efficiency (OEE) for Jotun.
Developed a solution for data exchange between Framo Mongstad AS and National Oilwell Varco – Tuboscope.
Developed a Quality Assurance solution for drill pipe inspection and repair.
Developed a solution for exchanging data between mobile phones and Microsoft SQL server.
Developed a solution for automated software installation and upgrade for mobile phones.
|
Roles:
|
Architect, developer, technical support
|
Technology:
|
- Programming: C#
- Database: Microsoft SQL Server
- Middleware: Windows Communication Foundation, MSMQ
- Web: DotNetNuke
|
Optimum Production AS
|
Chief Engineer Software
|
Customer:
|
ConocoPhillips Norway
|
Period:
|
2008 – 2009
|
Description:
|
From 1999 until spring 2009 I worked as the lead architect and developer of Onshore Operations Centre/Optimum Online.
Onshore Operations Centre/Optimum Online is a real-time solution for monitoring and optimizing processes and production in oil fields.
The project started in 1999 as a collaboration between Gram Petroleum Consultants AS,
Seamos AS, Edinburgh Petroleum Services (EPS) and Phillips Petroleum Norway to enable
real-time execution of existing EPS products.
Java & C++
The solution is based on ReO, the calculation engine created by EPS for oil field production optimization.
Well modeling and simulation was performed using EPS WellFlo.
Integration between Optimum Online and the EPS products was implemented as a COM/CORBA bridge in
C++ leveraging ACE & TAO in collaboration with developers and engineers from EPS.
The core architecture for Optimum Online is based on the OMG specifications for Data Access for Industrial
Systems (DAIS) and Historical Data Access for Industrial Systems (HDAIS).
To summarize, the solution as delivered to Phillips Norway - spring 2001:
- Micro-container based DAIS/HDAIS server integrated with JBoss, or Apache Excalibur for "stand alone" execution.
- Oracle RDBMS
- Java Server Pages based server monitoring and management.
- Java client based on OpenOrb.
- Excel data exchange based on Apache POI.
- Dynamic "data collector architecture" based on the Bean scripting Framework (BSF)
- Model Driven calculation engine where a set of code generators turned mathematical models into executable systems for the Java Virtual Machine
- Edinburgh Petroleum Services ReO Java API leveraging a C++ COM/Corba bridge server.
Delphi & .Net
New functional requirements, performance considerations, and changes to the customer technology infrastructure
lead to radical changes. This was an iterative process, where compatibility with existing modules was one
of our primary concerns.
Onshore Operations Centre/Optimum Online as of autumn 2007:
-
High performance, real-time database server, specialized for efficient handling of a large number of time-series.
- SQL execution engine
- ODBC, Soap, REST and native API
- Event driven change notification
- Model Driven calculation engine where a set of code generators turned mathematical models into executable systems for .Net
- Edinburgh Petroleum Services ReO .Net API leveraging a C++ COM/.Net bridge server.
- Corba based integration services ensured 100% compatibility with previous versions
- Key Performance Indicators and data visualization based on ASP.Net
- A suite of configuration and performance monitoring tools developed in c#
- A suite of integration, regression and unit tests
|
Roles:
|
- Software Architect and lead developer.
- Database modeling.
|
Technology:
|
- Programming: C#, Java, C++, C, Delphi
- Database: Microsoft SQL Server, Oracle RDBMS
- Middleware: Corba, COM, Soap, Rest
- Operating Systems: Windows, Windows Server, Unix
|
ProControl AS
|
Senior Software Architect
|
Customer:
|
ConocoPhillips Norway
|
Period:
|
2001 - 2008
|
Description:
|
See Optimum Production AS – ProControl AS merged with Optimum Production AS at the beginning of 2009
|
Roles:
|
- Software Architect and lead developer.
- Database modeling.
|
Technology:
|
- Programming: C#, Java, C++, C, Delphi
- Database: Microsoft SQL Server, Oracle RDBMS
- Middleware: Corba, COM, Soap, Rest
- Operating Systems: Windows, Windows Server, Unix
|
Seamos AS
|
Senior Software Architect
|
Customers:
|
Framo Engineering, 3Phase Measurement, Vital, Fluenta, Den Norske Marine, Folketrygden, ConocoPhillips, Gram Petroleum Consultants AS
|
Period:
|
1996 - 2001
|
Description:
|
Design and development of systems and applications for the Oil & Energy, finance, and public sectors.
|
Roles:
|
- Architect and developer.
- Database modeling.
|
Technology:
|
- Programming: Java, C++, C, Delphi, Perl
- Database: IBM DB2, SYBASE, Microsoft SQL Server, Oracle, Access
- Middleware: Corba, COM
- Operating Systems: Dos, Windows, NT, Unix
|
Various customers
|
Freelance consultancy
|
Customers:
|
IBM ,BA, Vital, UiB, Haukelandsykehus, Fana Sparebank, Talesystemer AS, Statoil
|
Period:
|
1992 - 1996
|
Description:
|
Consulting
Documentation, development, IT management and courses for companies and institutions mostly in the Bergen area, Norway.
|
Roles:
|
Documentation, development, IT management and courses
|
Technology:
|
- Programming: Java, C++, C, Delphi, Perl
- Database: IBM DB2, SYBASE, Oracle, Access
- Middleware: COM, CICS, MQSeries
- Operating Systems: Dos, Windows, OS/2, NT, Novel
- Telephony
|
Education
University of Bergen
|
Mathematics
|
1992 - 1993
|
NKI Ingeniørhøgskolen
Norwegian School of Information Technology
|
B.Sc. electronics and communications engineering
|
1988 - 1992
|
NHHK
|
Financial Analysis and Marketing
|
1986 - 1988
|
Other engagements
Norwegian Rowing Federation
|
Board Member
|
2006 - 2007
|
Leader of club support
|
2006 - 2007
|
Leader of educational comitee
|
2005 - 2007
|
|