Turning spaghetti into lasagne Applying the principles of application frameworks to Applying the principles of application frameworks to packaged applications James Couzens Solution Architect, Suncorp JAOO Conference, 2009
What I will be talking about today � � ������������ ����� ���������� ��� �������� ���� ���������� ���������� �����������
What do I mean by “application framework” • ���������������������������������������������������������������� • ���������������������������������������������������������������� ������� ��������������� ������� !"�������� ������������� #�������"���$� ������� %�������" ������ !��������� ���� ���� ������� &������� &������� 3
The problem space – the business ' ' ��������� ' ' �������������� ������ '������())��������� '������������������������������ '�������������������������*���������� 4
The problem space – the product +�&��������������������� ����� ��������������� ���� ����������������������������������� !"#���$%����$�#�� ������&$����$#�"#���$!�#$����������������#���$��#'���(�� �)��$��*����$��� �(��!���)��$���)*� ��(������� #������������� ��������������� ��������������� ��������� ��������� ���,������������ ���,������������ �������� �������� ���� ���,����������������,�������������� , �����-���� , ������������ , ����� ������ +�&������������ ����� '��������������������� ���������� '�����������������,��� �����+&$����,����� �#��-�� '�������������������������� �$����.''���"�$��,�($��/���� �+����($��������� �#��-�� �$����&���+0������(0#��������� �+�������������� �#��-�� 5
The problem space – product limitations �������������� ����������� �������� ������� ������� 3-���� )1 �'456�$�(���$���4��4 ���� 6�$�(�������4��4 ����������� 6�$�(����-�#����74 84���49 ���������� ,2 ����4�'45�������30�:21�$�(577 84���49 ���-��4'$��� 9 6
The problem space – code spaghetti ��������������������� ���������������������� ��������������� �� !�������������� ���������"������� �� ������������ ���������������� ��� ��� 7
The solution #������������� �����$����������� #������������������ , ���������������������������� , ���������%���������������� , ��������������������� , !������������������ , �������������������� , ��"����������� , !��������������� , *�*�* %�������� ������������������"��� 8
The solution – UI framework ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ,2���������� ,2���������� ,2���������� ,2���������� ,22��-� ,22��-� ,22��-� ,22��-� = ;#��$��,2.6<�#�57 ;����6��57 ;$���+3-��57 ;�(��$6��57 ;�$��($����57 ;4��� ��������������������� �����������������"� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� �$������������ �$������������ �$������������ �$������������ ����(2��-� ����(2��-� ����(2��-� ����(2��-� �$������������ �$������������ �$������������ �$������������ ����(2��-� ����(2��-� ����(2��-� ����(2��-� ,2������������$�� ,2������������$�� ,2������������$�� ,2������������$�� ,22��-���$�� ,22��-���$�� ,22��-���$�� ,22��-���$�� ;����,22��-��57 �$������������ �$������������ �$������������ �$������������ ����(2��-� ����(2��-� ����(2��-� ����(2��-� = �������������������� �������������������"� 9
The solution – run time context Suncorp Motor ����������� PageCtlr PageCtlr Product Motor PageCtlr Shared Base ����� PageCtlr 10
The solution – Rules framework ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� ��$6���$#��� 3-��"�� 3-��"�� 3-��"�� 3-��"�� 3-�� 3-�� 3-�� 3-�� = ;���#-��57 ;�$�� ;#��(�����57 ;$#����57 -������������������� -������������������� �����"��������������� �����"��������������� ������������������ �������������������� ���#����3-��"�� ���#����3-��"�� ���#����3-��"�� ���#����3-��"�� ���#����3-�� ���#����3-�� ���#����3-�� ���#����3-�� = 11
The challenges of this type of approach ������������������������ /���������,�� .���������������� �������� �������� ����� ����� 12
Recommend
More recommend