Synopsis for Soterios Panagou – April ****
Personal Details
Name: Mr Soterios Panagou
Nationality: Dual Nationality/Passport Holder - South African, Greek (EU)
Spoken Languages: English, Greek, Afrikaans
Age: 41
Telephone number(s): South Africa +27-73-536-****
Email: *******@*****.***
Current Address: Stand 3836, Rooihuiskraal, Centurion, South Africa, 1561
References available on request
Experience
17 years’ commercial software engineering and middleware experience with the Java programming language and associated APIs (J2SE, JEE, XML). Production, Middleware/EAI and test environment support with 15 years’ experience supporting applications and managing production/test environments for a variety of vertical industries, including Telecommunications (South Africa and Ireland), Healthcare (Ireland), Government (United Kingdom) and Financial Services (United Kingdom).
Extensive experience with Web Services, including SOAP and associated W3C standards (WS-Addressing, WS-Security etc.) 16 years’ middleware experience with BEA WebLogic Platform 7, 8.1, 9.2 and 10 on high profile projects at a number of clients. 7 years’ middleware experience with TIBCO EMS, BusinessWorks, ActiveMatrix ServiceGrid, BusinessEvents, Employed primarily as a product specialist to ensure best practice architecture and implementation, and engaging at all levels during solution delivery, from project management, through to technical architecture, leading technical implementations, operating in team lead capacity, to achieve the delivery of highly-available solutions into production.
More recently, fulfilling role of development manager, directly responsible for, and providing technical guidance to, approximately 30 developers. This role has allowed me to implement and manage various framework initiatives, covering topics such as unit testing, peer reviews, automated function testing, as well as continuous integration.
Involved in a number of high-profile PHP-based deployments to various public cloud platforms (Azure and DigitalOcean), to architect and deliver extremely highly-available, scalable solutions.
Interested in and involved with various open source initiatives, including Ubuntu, CakePHP, OpenCart, Fitnesse, Apache XMLBeans, and W2UI. Contributing to a number of open source projects (XMLBeans, OpenCart, W2UI).
Qualifications
M.Sc. Computer Science (Rhodes University, Grahamstown, South Africa, 1999).
B.Sc. (Hons.) Computer Science (Rhodes University, Grahamstown, South Africa, 1997).
B.Sc. Information Systems (Rhodes University, Grahamstown, South Africa, 1996).
Core Competencies
Excellent skills in design, implementation, deployment, support, testing/monitoring and enhancement of applications on Sun Solaris, HP/UX, Linux, and Windows platforms
Extensive experience in runtime production troubleshooting and problem resolution, including the performance monitoring, management and tuning of deployments within JEE and TIBCO environments.
Working closely with operations teams to ensure that whatever is delivered is easily supportable
Core Competencies
Programming languages: Java Enterprise Edition, PHP, ANT, SQL, XML (XSLT, XPATH, XQuery, XSD).
TIBCO Products: BusinessWorks 5.x, BusinessEvents 3.* & 5.*, ActiveMatrixService Grid 3.1.* & 3.2.*, EMS 6.x and 8.x administration/development, deployment/maintenance of production applications.
WebLogic Products: WebLogic Platform (6.1, 7.0, 8.1, 9.2, 10.x), WebLogic Server, WebLogic Workshop, WebLogic Integration, JEE, JSP, Servlets, HTML, JDBC, JMS, JAVA Mail API, XMLBeans.
Scripting Languages: JavaScript, SQL, PHP, Bash, Velocity, HTML, JQuery, CSS.
Databases: Oracle (8.x – 12g), SQL Server, MS Access, MySQL.
Open Source: OpenCart, CakePHP
Unix Platforms: RedHat Enterprise Linux, Ubuntu, Solaris
Interests
Proprietary public cloud frameworks (Microsoft Azure, DigitalOcean) and open source frameworks (OpenStack).
Passionate about various open source initiatives, including Ubuntu, CakePHP, OpenCart, Fitnesse, Apache XMLBeans, and W2UI amongst others.
Contributing to a number of open source projects (XMLBeans, OpenCart, W2UI).
Technical blogging on public platforms such as LinkedIn to express personal opinions about various topics, based on my personal experiences.
Presentations
[2012] Supercharging your SOA with In-Memory Computing: A Telkom SA Case Study - TIBCO User Conference (TUCON 2012), Las Vegas.
[1999] The Development of a Generic Framework for the Implementation of a Cheap, Component-based Virtual Video-Conferencing System – South African Institute of Computer Scientists Conference, Gauteng.
Publications
[1999] Development of the components of a low cost, distributed facial video conferencing system – Soteri Panagou, Master’s Dissertation (Rhodes University).
[1998] Video-Compression With Virtual Reality – An implementation of a Cheap, Component-Based Virtual Videoconferencing System – Soteri Panagou, Shaun Bangay,
Experience
Telecommunications (May 2016 – Present)
Organisation
Telkom South Africa (Pretoria, South Africa)
Activity
Development Manager
Description
I was appointed development manager for the Integration department at Telkom. Along with day-to-day line management responsibilities such as time sheet approvals, leave management, budget and resource planning, I am also responsible for technical guidance as well as strategic and governance activities.
Examples of strategic activities include:
Being involved in all establishment initiatives, such as the recently launched B2B establishment etc.
Examples of governance activities include:
Chairman of the Architecture Forum. The forum has a quorum of 6 quorum members where all changes affecting the integration department are discussed, and voted up. The forum meets once a week.
Chairman of the Solution Design Forum. The purpose of the forum is to discuss any technical or functional topics, and derive strict standards which can be adhered to by the team. Ultimately it allows all team-members to either enhance existing standards, or to define new standards where new requirements arise.
Being at the centre of most functional flows, the most important aspect of the job is to ensure that the team delivers quality work, within budget and timelines, and that any escalations are handled quickly and effectively. Aside from this operational requirement, a very important aspect of the job has involved the strategic development of capabilities that allow the team to mature the way they work. These capabilities are realised and owned by various dedicated framework teams that are each responsible for very specific initiatives, amongst other things:
Peer Reviews
Continuous Integration
Automated Functional Testing
Scripting
Each of these framework teams has:
A team of developers and/or analysts who agree on the deliverables and define the maturity roadmap of the team.
A team lead, who takes ultimate accountability for the deliverables and direction of the initiative.
A project manager who tracks identified deliverables and ensures that those deliverables are worked on by the team.
Team size
40 consultants and 3 project managers.
Telecommunications (February 2009 – Present)
Organisation
Telkom South Africa (Pretoria, South Africa)
Project
24/7 Stateful BE-based solutions.
Description
As the fourth largest mobile operator in South Africa, Telkom offers B2B partners, such as Banks, and Wireless Application Service Providers (WASPs) the ability to allow customers to recharge their mobile prepaid accounts (Pinless Recharge) and use their accounts to purchase virtual goods such as ringtones (Carrier Billing).
The Pinless Recharge platform ensures that customers are able to topup their mobile account, and to meet the strict SLAs enforced by the B2B partners, a queue-and-process pattern is employed to minimise call response times, and actually perform the recharge after-the-fact.
The Carrier Billing platform introduces a capability which allows Telkom to earn revenue for the sale of generic Virtual goods, and by extension, non-telco related products. It is unique in the market in that it was the first Carrier Billing platform to offer double-optin functionalty (ensuring customers explicitly agree to be charge for content), and the automatic penalty of charging of WASPs who above platform SLAs. Additionally, the framework resulted in a partnership with Google to allow Telkom customers to start paying for apps, movies and music the Android Play Store using their Telkom Mobile account.
Team size
6 consultants
Responsibility
Both of these solutions are based on the same technical architecture, namely TIBCO BusinessEvents 5.2 for the core orchestration, fronted by lightweight AMX-based SOA services which provide standard SOAP/HTTP access to the solution APIs. While the AMX services are Active-Active, the BE component is currently deployed in an Active-Passive architecture, with one Active Inference Agent, and one Active Caching Server, with the latter running Passively.
The integration between AMX and BE was realised through SOAP/JMS, where BE is configured with base SOAP events, ensuring that the integration between AMX and BE is based on well-defined SOAP contracts, providing for a truly decoupled architecture. The BE concepts are configured as cache-only, with cluster-aware locking allowing the runtime to be configured to run with Concurrent RTC mode enabled.
I enhanced the scripting framework provides the ability to perform the following CLI activities:
build of the applications (EAR deployable)
generation of backing store SQL scripts
deployment of the EAR files (both BE 5.0 and 5.2)
The deployment time control of all the important aspects of the CDD, such as:
whether or not Concurrent RTC/MaxActive is enabled or not
the number of Inference Agents and Caching serves to be used for the deployment
the ActiveSpaces (AS) cluster address, as well as the Cache memory parameters
Technical Environment
AMSG 3.x, BE 5.2, BW 5.10, EMS 8, ActiveSpaces
Telecommunications (February 2009 – Present)
Organisation
Telkom South Africa (Pretoria, South Africa)
Project
Integration Broker Establishment
Description
6 month project to establish Telkom's 3rd broker based on TIBCO's integration stack/technology. Telkom had a couple of legacy brokers based firstly on Tuxedo, and then on BEA WebLogic Integration 8.1. The focus of the project was to roll out a completely new stack, aligned with TIBCO's product stack, namely BusinessEvents, BusinessWorks, ActiveMatrix Service Grid and EMS,. Additionally though, effort was spent aligning with industry best practices and establishing a Centre of Excellence to govern the how the service delivery lifecycle is managed.
Team size
25 consultants
Responsibility
I was a very key member of this establishment project, and assumed the title of Enterprise Integration Technical Lead. I focussed on defining the standards that today drive integration delivery at Telkom. This involves working very closely with the Telkom Architecture team to ensure that the integration architecture aligns correctly with the enterprise architecture vision. This vision has been developed using TOGAF and thereby aligning with TM-FORUM, to ensure that interim and target architectures are realistic, and furthermore meet the needs of the organisation.
As part of the establishment initiative, I delivered the following:
A WSDL generator based on Velocity and Ant, to enforce contract-first service development.
A layered architecture for building services, supporting both stateless, simple services as well as complex integration applications involving state (both lightweight or complex)
A unit testing framework based on TIBCO BusinessWorks 5.x (BW), which provides developers with a standard capability to unit test any deployed component in a technology-agnostic manner. The use of BW as the tool for the framework was chosen specifically because of its integration capabilities, allowing for a myriad of stubs to be easily built to support the unit testing of any type of service (request/reply, fire-forget, complex stateful orchestration)
The implementation of an enterpise-wide standard JMS-based auditing framework (called GEAR), which emits auditing events to an underlying structured EMS topic infrastructure. The events are based on a well-defined XSD definition, allowing a myriad of use-cases to be implemented.
Reusable BW components packaged up as individual project libraries can be imported into service projects to provide rich framework capabilities where required. Examples include:
a Conversation adapter, providing services with the ability to implement lightweight state efficiently. The adapter provides makes use of EMS to allow for persisting and retrieving lightweight conversations, but also provides efficient timeout monitoring. The adapter has been used to implement retry logic efficiently and also to implement business timeout logic.
a Pooling adapter, consisting of Java-event starter process implementing Apache's excellent Commons Pooling library. This adapter allows for any resource to be pooled, specific examples include pooling SMSC bind sessions, with complete control over pooling behaviour (such as pool size, and retry and testing behaviour) exposed through a set of standard Global Variables.
a Singleton adapter, which provides cluster-aware critical sections in order to avoid duplicate processing across multiple instances of the same deployed service. This adapter was originally implemented to avoid duplicate file generation triggered through a Timer-based BW process, deployed across two HA nodes. The actual cluster-aware behaviour is achieved through the use of a shared EMS queue to ensure that only one of the deployments performs the required processing.
Development of an extensive and rich scripting framework (based on a combination of Ant, Java, and Jython) that allows for automation of all aspects of the delivery lifecycle, for both AMSG, BE, AMX-BW and AMX-BPM. This framework is used by both the development team as well as the DevOps team to address CLI building and deployment of services, as well as runtime provisioning of Administrators, and runtime nodes, etc, allowing for predictable process repeatability. The scripting framework provides a standard set of ant-based tasks, which allow any type of deliverable based on any TIBCO product to be built and deployed to the specific runtime in a product-agnostic manner.
The above framework has been over the last 5 years to successfully deliver the integration requirements for a number of very high-visibility capital projects by a number of different teams (offshore and onshore) in a standard, predictable manner.
Technical Environment
TOGAF 9, TM-FORUM, AMSG 3.x, BE 5.x, BW 5.x, EMS 6.x, ActiveMatrix Lifecycle Governance, Ant, Apache Velocity, Java
Retail (August 2016 – Present)
Organisation
http://shop.mighty-buyer.net
Description
High volume eCommerce Opencart-based stores initially deployed to the Microsoft Azure cloud, but then moved to DigitalOcean.
The architecture consists of a scalable OpenCart worker layer (scaling managed through Azure’s Virtual Machine Scale Set offering), a MySQL database layer, and finally a Redis Cache Cluster to facilitate cluster-aware PHP session management.
Team size
4 consultant
Responsibility
I was responsible for implementing the architecture to ensure a horizontally scalable, cluster-aware architecture based on OpenCart.
Additionally I provide ad-hoc operational support and deliver enhancements to ensure that what the store offers is aligned with the business requirement.
The interested reader may visit the following post for a summary of the resulting implementation, where I go into detail about how the solution was architected and implemented: https://www.linkedin.com/pulse/opencart-plays-azure-part-2-soteri-panagou.
Technical Environment
Microsoft Azure, Ubuntu Server, Redis, MySQL, OpenCart, Memcached
Telecommunications (February 2014 – October 2016)
Organisation
Talktokkie (www.talktokkie.com)
Description
Start-up (often referred to as “Twitter for Voice”), focussed on offering a social networking service similar to Twitter, but without the need for a data connection. The point of focus and differentiation of the platform is the use of non-smartphone technologies to deliver this capability to third-world markets where feature-phones are still highly prevalent. Technically the offering does not rely on data, rather preferring voice and SMS to facilitate the social interaction paradigm.
The solution is architecturally layered to provide the correct separation from presentation/access to the capabilities of the platform. The core engine is implemented using CakePHP, along with an HTML5/CSS front-end, while the telephony layer is realised through a LUA-based Freeswitch implementation as well as an SMSC gateway implementation for the delivery and routing of SMS/text messages.
The latest evolution of the platform is the development of an Android and iOS-based mobile application to allow for voice-based control and playback of relevant content. Authentication and authorisation is facilitated through Facebook and Google OAuth authentication and authorisation, while the Talktokkie Core’s capabilities are accessed through restful APIs to them, thereby truly decoupling controller implementations from the access mechanism.
The initiative won the 2014 MTN Cyprus Innovation Challenge.
Team size
2 consultants
Responsibility
CTO and technical architect, Implementation lead.
Technical Environment
CakePHP, MySQL, IPSEC, Freeswitch, Ubuntu Server 14.10, OAuth, HTML, CSS,
Retail (June 2013 – Present)
Organisation
Vermont Sales (www.vermontsales.co.za)
Description
Vermont Sales is a family run South African business focussing on the B2B wholesale tool market. The business runs on a legacy ERP system (Kerridge), receiving orders from their B2B partners through an EDI interface in addition to a bespoke desktop ordering application.
The purpose of this ongoing project was to completely revamp the company’s website, from a static, legacy website, into a dynamic platform which provides detailed information about the company’s entire product catalogue of over 18000 products, as well as facilitating a number of self-service functions, through various integration mechanisms with the ERP system, namely SOAP and batch file interfaces.
The effort has now resulted in a number of very rich self-service capabilities, Including:
Downloading and viewing of invoices and orders
Placing orders on the website and interfacing these through to the ERP backend,
Integration with Google maps to allow for the data cleansing of customer addresses.
The ability to book for events (through the implementation of an events booking framework)
Integration with OpenCATS to provide a framework for operationalising the company’s HR function.
Team size
1 OpenCart developer, 1 CSS designer, 3 x business representatives
Responsibility
OS installation, configuring and customising OpenCart through various VQMOD patches
Helping Vermont Sales management define their eCommerce and customer self-service strategies.
Working closely with the CSS designer to ensure a consistently pleasant user experience.
Performing all aspects of operationally supporting the website, including, firewall security configuration, file system backups, nightly cron job tasks, OS and application monitoring, and OS patch applications etc.
Technical Environment
OpenCart, VQMOD, MySQL, Kerridge, PHP, Ubuntu Server, OpenCATS, Bash/Opencart
Healthcare (September 2002 – Present)
Organisation
Irish External Quality Assurance Scheme (IEQAS) (Dublin, Ireland)
Description
September 2002 – April 2003: First phase of a JSP-based solution for automating IEQAS operational processes, including clinical scheme administration, survey management, statistical analysis & reporting, and report distribution to scheme members. Primary features of the solution include advanced statistical analysis and reporting capabilities, giving the users the ability to modify their statistical reports as their business requirement changes.
August 2004 – November 2004: Delivered the second phase of the solution below. This solution focused on revamping the existing website (www.ieqas.ie) and providing the members of the scheme with a secure, context-sensitive portal where they are able to enter their test results online, while at the same time downloading their statistical reports.
March 2012 – Present: Third iteration of enhancements, focusing on stability and bug fixes, as well as the migration of www.ieqas.ie to a CMS-based engine (MeshCMS), and the migration of the Tomcat application and database to the latest respective versions.
Team size
1 developer, 2 testers
Responsibility
Solution architecture, database design, software development, development of the Microsoft Access reports. Development of custom JSP-based MVC framework. First-line and technical support.
Technical environment
MySQL, Torque DB Persistence, Apache XMLBeans, Apache Tomcat, JSP, Microsoft Access database and reporting, Java-Mail, JDBC-ODBC bridge, MeshCMS.
Telecommunications (October 2008 – December 2008)
Organisation
MTN South Africa (Johannesburg, South Africa)
Description
Initiation of an upgrade project, focussing on migrating multiple running on a variety of WebLogic Integration 8.1 clusters and Tuxedo 8.1 infrastructure to the latest version of the respective Oracle BEA products.
Team size
4 consultants
Responsibility
Analysed the existing production environment, and proposed a new architecture based on the latest Oracle/BEA product offerings. Result was a layered architecture consisting of ALSB 3.0 exposing the services hosted by a combination of WebLogic Server and WLI components.
Developed an upgrade roadmap for migrating and project plan to minimising risk, while achieving the upgrade in time for the end of Premier Support for the 8.x product series.
Technical Environment
WLI 8.1 SP5, WebLogic Workshop/Server 8.1, WLI 10.2, WebLogic Server 10.3, AquaLogic Service Bus 3.0, DynaTrace Diagnostics 2.6, TopLink
Financial Services (July 2007 – August 2008)
Organisation
M&G Investments (Central London, United Kingdom)
Description
Development of a back office Equities & FI STP trade processing platform in an agile (Scrum) and TDD environment. The project integrated 9 internal systems which required close collaboration with business sponsors and the BA team.
Team size
6 on-site consultants, 12 off-shore consultants
Responsibility
Team leader and WLI Expert, responsible for the delivery of an STP solution, using the scrum methodology, combined with pair programming. Managed release cycles for enhancements and bug-fixes (through daily interactions with the production support staff). With a large portion of the development staff being offshore, I was responsible for delivering technical specifications to off-shore teams for implementation. Subsequently led the migration of all WLI 8.1 applications to WLI 9.2MP3, realised through an initial POC upgrade to identify potential issues and eliminate risk.
Technical Environment
ALSB 2.5, WLI 8.1 SP4, and 9.2 MP3, Windows/Solaris/Linux, Oracle 9i, PL/SQL Developer, XmlSpy, MKS Source Management, IBM MQ Series, WLST, Ant, Hudson, J-Unit, Eclipse 3.1
Telecommunications (March 2006 – March 2007)
Organisation
Telkom South Africa (Pretoria, South Africa)
Description
Telkom’s internal integration hub (initially based on Tuxedo) is in the process of being migrated to WLI 8.5 SP6. The hub is at the core of all integration within Telkom and is categories as Class A. This solution is one of the largest WLI implementations in the world, and managed using an in-house scripting framework.
Team size
5 support staff, 20 developers
Responsibility
WLI expert, ensuring best practices adoption of the product. Achievements:
Developed a checklist-based peer review process to ensure appropriate quality control applied to it before being deployed.
Key member of the technical architecture team, responsible for providing technical leadership and advice to the rest of the development team, and also focussing on future technology direction of the team, and,
Developing key framework components/techonogies, such as dynamic reloading of XQuery Maps, the adoption of log4j for centralised logging, as well as the use of aspect oriented programming (AspectWerkz) to facilitate Continuous Build and Test cycles.
Development responsibilities included:
Supporting 10% of production applications,
Developing new application, and
Re-factoring inefficiently implemented application.
Worked closely with the WLI DevOps support team to:
Stabilise the clustered production environment focussing on issues such as inter-domain JTA commit problems and memory leaks
Tune the WLI production environment specifically related to execute queues and JDBC connection pools
Development of in-house patches on the WLI core to address fundamental product deficiencies (such as XQuery memory leaks, and also inconsisten Sync2Async behaviour).
Acted as a bridge between the support and development teams
Technical Environment
WLI 8.5 SP5/6 Cluster (4 managed servers), HPUX 11i, Oracle 9i, WLST, CVS, Eclipse 3.1, Microsoft VSS.
Government – Vehicle Inspectorate (August 2004 – December 2005)
Organisation
ATOS Origin (Bristol, United Kingdom)
Description
GBP 10m replacement project to upgrade an ageing vehicle booking/testing system based on CoolGen. Siebel Call Centre 7.7 is now used as the front-end for creating and maintaining vehicle bookings, while Oracle Financials 11.5.9 represents the back-end finance system. WLI 8.1 provides the integration capability.
Project size
10 Siebel consultants, 6 developers, 2 WLI specialists
Responsibility
WLI specialist, and Integration Manager. Developed a solution architecture based on WLI best practices. The engagement was a cradle-to-grave engagement, which required me to deliver the final production system based on the solution architecture which I was defined. I was the only WLI specialist in the team, and hence was key to the successful delivery of the solution.
As team lead for the integration piece:
Delivered a developer framework which consisted of code examples, which the dev team used, allowing non-WLI developers to be productive.
Delivered all of the framework components, such as the environment provisioning scripting framework, the database-driven audit trail engine, all resource-facing adapters (including an Oracle AQ adapter, and a Siebel adapter), as well as the testing framework.
From a management perspective:
Provided accurate project estimates to line managers.
Performed a business analysis function and gathered requirements for the parts of the system that had not been analysed sufficiently.
Ensured transparency by providing daily and weekly feedback to management,
Co-ordinating and participating in peer reviews run by external BEA consultants.
Technical Environment
WLI 8.1 SP4 Cluster (2 managed servers), Windows Advanced Server 2003, Merant PVCS for configuration management, Siebel 7.7 for Bug Tracking/Release Management. XSD, XQuery, Oracle Advanced Queuing (for the Oracle AQ adapter), Apache HttpClient (for Siebel Session Adapter), Ant, XQuery. JavaDoc, Wily Introscope., Excel VBA Scripting, Apache JMeter
Health care (January 2003 – August 2004)
Organisation
Beaumont Hospital (Dublin, Ireland)
Description
April 2004 – August 2004: Architected a solution to replace the ageing mainframe system on the one hand, while also providing a web-based self-service portal. The solution consisted of the design and implementation of a generic Patient Health Record Core with management capabilities on top of this core. The second part involved the development of an Epilepsy Clinic Management application deployed as a portlet in a Portal; the portlet made use of the JPF framework to ensure strict adherence to MVC principles.
January 2003 – November 2003: Implementation of a solution to automate a range of processes between a community of GPs and the hospital (e.g. ordering & delivery of lab results, death notifications, scheduling of patient appointments, etc.). The solution enables GPs to interact with the hospital’s patient administration system in near real-time via a messaging infrastructure. The solution is based on a middleware infrastructure, BEA WebLogic Platform, which facilitates business process automation and integration into the hospital information system, briefly described below.
Project size
2 WebLogic Platform specialists, 6 developers
Responsibility
Technical Solution Architect, ensuring that the SOA principles are adhered to. Implemented the Epilepsy Clinic Management System. Part of the team responsible for the production deployment of the application. Provided product training around WebLogic Platform 8.1 to the Beaumont Hospital staff.
Technical Environment
RedHat Linux Advanced Server 2.1, CVS, WebLogic 8.1, XML Schemas, Java Page Flows, XML-Beans, JPD, BEA Platform 7.0 and 8.1, WebLogic Server, WLI business process management, WebLogic Workshop, Web Services, XML, XSD, JDBC, JMS, JAXB, JSP, Servlets, J2EE, JDBC, Oracle, Linux, CVS, Ant, Tomcat, Redhat Linux 9.0, HP3000 Mainframe running an image database