object-orientation

About Webel IT Australia

Webel - in operation in Australia since 2000 - is a Scientific IT Consultancy specialising in web application development, Content Management System (CMS) web sites, model-based software engineering and systems engineering using technologies such as:

Proprietor Dr Darren welcomes you to Webel IT Australia - the "Elements of the Web"

IT Training

Webel promotes graphical, model-based development and offers Advanced UML and SysML training seminars and workshops, including courses in model-based Java and XML engineering and how to progressively refactor existing systems using reverse-engineering into graphical UML.

Dr Darren is recognised as a leader in graphical software and systems engineering technologies and worked as an expert consultant on MagicDraw UML and the MD SysML Plugin.

The Doctor is in the Webel IT Australia house and available for hire

Just phone +61 (2) 9386 0090 or email Webel consultant Dr Darren in Bondi, Sydney, Australia, to ask about Webel's services for UML™-driven graphical software engineering with Java™ and XML, expert domain and requirements modelling with UML™ Parsing Analysis, graphical systems engineering with SysML, and custom data analysis. Webel also offers PHP-driven Drupal™ Content Management System (CMS) web sites, as well as audio, video, and media services, and unique Pure Data real-time audio and video synthesis services. (That's Dr Darren left working from his Webel office day and night.)

Latest résumé versions

Please visit:


IT Consultant: Senior Drupal CMS web developer, PHP programmer

When
19/01/2015 - 23/03/2015
Organisation(s)
Role(s)
Senior Drupal CMS web developer, PHP programmer
Tasks

Under contract via Webel IT Australia to digitial media agency Sitback Solutions worked on a range of existing existing PHP-driven commercial Drupal7 CMS sites.

Worked with Drupal Commerce and the eWay Payment Gateway API, and the ExactTarget CRM/MAS (Customer Relationship Management and Marketing Analysis System) for https://www.bodytrim.com.au

Developed an email Newsletter campaign composition system for dynamic publishing streams and ad-feeds using object-oriented PHP and Drupal CMS for interaction with the Marketo email campaign management system for http://www.moneymanagement.com.au

Employed support technologies including the GIT code repository management system, the Unfuddle issue tracking system, and the Drush command line tool for Drupal.

Used graphical Unified Modeling Language (UML) activity diagrams as flowcharts for documentation, sequence diagrams for analysing eCommerce modules, and class diagrams for component-based web site modelling.

Used NetBeans IDE in combination with XDebug for PHP for code issue analysis and sequence tracking.

Drupal CMS contributed module development, PHP programming

When
03/12/2014 - 18/01/2015
Organisation(s)
Role(s)
Drupal CMS contributed module, object-oriented PHP programmer, UML graphical software architect
Tasks

For own business Webel IT Australia, ongoing development of contributed Drupal CMS modules for posting to the Drupal.org development community site, including:

- OOE = Object Oriented Examples (with graphical Unified Modeling Language (UML) support): http://drupal7demo.webel.com.au/module/ooe

- Flag Plus: http://drupal7demo.webel.com.au/module/flagplus

- M00 (a template for contributed modules): http://drupal7demo.webel.com.au/module/m00

R&D: Drupal CMS developers web site: http://drupal7demo.webel.com.au

When
10/02/2014 - 02/04/2014
Organisation(s)
Role(s)
Drupal CMS technical web site development, object-oriented PHP programmer, UML graphical software architect
Tasks

Technology asessment and research for own business Webel IT Australia. Developed an educational Drupal7 site for other Drupal developers, with tutorials and modules demonstrating the Drupal 7 custom module development API, and a unique object-oriented PHP bridge module Object-Oriented Examples (OOE) for Drupal7, which aims to demonstrate “one of each” of the capabilities of the Drupal7 module, form, and theme APIs. Includes unique graphical Unified Modeling Language (UML) models of the OOE module’s object-oriented PHP code and of the Drupal7 architecture. Includes reviews and demos of many useful Drupal7 contributed modules, and a wealth of information on Drupal-related web development topics. This technology assessment site is under continual development

[ANNOUNCEMENT]: the JUML project: a Java mapping of Drupal under UML Parsing Analysis of Drupal.org

The prevailing lack in PHP-based Drupal™ of the following technologies (largely perpetuated into Drupal7) drives me (even more) crazy, and it wastes my time:

  • substantial object-orientation
  • flexible method-based hook encapsulation
  • custom type field and user interface inheritance
  • use of GoF and other well known design patterns
  • support for graphical software engineering technologies

If you are an advanced Drupal user with discerning clients, I can assure you that it is wasting your time and money too (even though the software is "free"), and there are much better, well known, well tested ways that have not yet been embraced by the Drupal.org community.

I want to help fix it, and I clearly think that Drupal™ does need a lot of fixing. I (Dr Darren) am a person who can do that, because I am the developer and promoter of the incredibly powerful «wrapper» Component-based UML™ Parsing Analysis analysis recipe, and also develop a powerful recipe I call "snippet-driven" software and systems engineering, a meta-process for document-driven engineering, and because of my current deep involvement with Drupal™, which runs many sites for me and my clients.

As far as I can tell, not one other Drupal user is using such powerful software engineering technologies in combination with their Drupal coding and documentation, and the DrUML and JUML projects are conceived not only to help me, they are conceived to teach you, and to act as as clear examples of what is possible with advanced software engineering process and strategies. I am an evangelist for technologies not yet embraced by Drupal, and I would be delighted to convert at least some Drupal users and developers. I do think Drupal.org needs some salvation.

If I am going to stay with Drupal™ technology, I am going to have to either help reengineer it (which I hope the DrUML project will help achieve for Drupal8), or, perhaps foolishly, I will have to consider forking completely away (given sufficient support and interest from others) to a new Drupal-friendly Java project, which I've decided to call:

JUML: The Java+UML Content Management System

Pronounced 'joo-em-el', with intonation like 'U-M-L', the name is chosen to also sound a bit like both Drupal and Joomla, although in fact all the document mappings are to be from Drupal.org (only).

The JUML project represents a forked design layer for the DrUML analysis project, i.e., once the analysis layer is sufficiently evolved, executable Java components can be generated from them (against my own Webel Java frameworks, and against the Eclipse Modeling Framework (EMF)).

For now, JUML should remain merely an educational example of snippet-based UML™ Parsing Analysis, however by design, it will be able to interact with Drupal sites (and will provide a Swing or SWT interface to them, too). It is not intended (yet) to completely replace or fork from Drupal, and a fundamental requirement is that it should always (!!!) be able to interact with prevailing Drupal sites (at least with my own).

By contrast, the DrUML analysis project is very ambitious, and I want it to cover large portions of crucial Drupal elements.

Moving to some other open source Java CMS projects is not the answer for me, not least because I run so many Drupal sites, but also because the Drupal community is so strong, and there are things about what I can do with Drupal and some contributed modules that I like (and appreciate). I want to amplify the power of that community.

To do this I need snippet-driven engineering and UML™ Parsing Analysis (which manage the mapping from Drupal docs), and I need Java™, because although I can do some reverse engineering of PHP into UML, it requires too much babysitting because PHP is untyped (although, as I've often pointed out, it would be nice if PHP would at least support type-hint annotations, which could be reverse engineered to graphical UML™, it's easy enough to do).

Best of all: JUML is conceived to be able to write PHP against Drupal module APIs, because (my) Java can write PHP ! The graphical UML-based engineering can then be done on the Java components, and when needed, they can write themselves as Drupal friendly PHP (only enough to interact with selected Drupal modules).

PHP zone

A Webel zone with some PHP resources and tips:

If you have never used PHP before and you already know some Java™, C, C++ or Perl (and some HTML and CSS) then give PHP a go, it's easy. It also has some powerful object-oriented and reflection capabilities, as well as the ability to manipulate function variables. If you just want to interact directly with an SQL database (and especially with MySQL through PHP MySQL) and wish to develop a simple interactive web application then PHP is a good choice.

There is also now an Object-Relational Mapping (ORM) framework for PHP called Propel, which is used by the Symfony web application framework, as well as a framework of emulations and implementations of popular idioms from other languages called Stubbles (which you SHOULD visit before reinventing the PHP wheel). And check out also the Cake PHP rapid development web application framework.

Did you know ?

'PHP stands for PHP: Hypertext Preprocessor. This confuses many people because the first word of the acronym is the acronym.'

This Drupal™-driven site uses PHP behind the scenes !
Syndicate content
randomness