Reflections on Architecture

Post on 15-Feb-2016

226 views 0 download

description

reflections on architecture

transcript

������������� �������� �

������������� �������� ����������� ��

��� �������� �������������� � ��

������ ��� ������������ ������ ���

A candid discussion on developing software the right way

����������� ������������������������

����������������

������������� �������� �

����������� �����

������ ��������������� �����������

� ��� � ���� ���������� ���� �� ��� ��

� !�"�� ���#�� �������������$%

� &��������� ������� ���'����������$(

� �����)�'��� ������ �������� ��*�+,-

� ��, �������������������� � ���� �������� ��*, ����������-

� ��� � ����� �����. ������� �������� ��*�� �$� -

� , �����������������������(� �����/������%�, ���

� #����/������$�������%

� )� ��0����#��������������0� ��� �������

������������� �������� �

����������� �����

�'���������� ��� �

� �� ��� ������������ ������ ���1�#�2�*3"��(��#�-�

� 4556��������0� ��74428�9�����

� :51555������%���)� ��0���

� +�%�9����� 9���1��������������0� ��� ���

� #�������, �����1�&����#� �������� ����9������

� /�������������� ����� ���;���, ��� �%�<�/�����%���� �����������=2�2

� &� $���=2�2� ���������� ����>� ��'�������������>� ��'���=��� ���&������ ���

������������� �������� �

��������������������

���� %������� ��$�����������'� �����

? &�$��$�(����'�%�;@�/.9.&�;@�/AA�;@�����? , ����(�)��� �����;@�#�� ������;@��$���? � �������� �(�, ����� ���;@�.'B����. ������;@��� �����. �����? �������(�, �� ���� %�;@�.������ ��? /������(�����������;@�/����C�� �� �;@�)�'�;@�� ��

������������� �������� �

��������������������

�������� ���������0� �

����'���0�%����� �������������� ��������������D;����+�%

; ��� ���� ��; ����$ �0������������E��%; ����� ����%������������%;������$�%���; ��������������������������������� ���; ������������������0� ������������� ��������������������%

������������� �������� �

��������������������

��������0� ��F����������,� ���E

9�����$�G�����%����0� ������������ �������������%��� �? ������� ���$����0� ����'������������������E��%

� ������������E������? 3������ %���$�0��0������'��������'��'����? 3������ %���$�0��0������'�����������'��'����

F�� ���2�, �������������$? /������ ���������%1�� ��������%H��'��������� �������0���$�? /��������%�������$����'�������� �������B��$���

������������� �������� �

��������������������

�������� ���������0� ���$��� �$

; /���E����; .������ ��; .���� ��$

; ��������; ��������; ,���� �. �����; ������F ���; F���� �����; �� �����. �����

; ������; /����'� �������������������� ����; ���������; 9��$; )���

������������� �������� �

��������������������

����0� ���$��� �$���45 I

; ������������ ������$ �0����'������$����������#�� �����0�%��E����; ������������ ��E�� ����������� ���� �������������'� �������������������� ����; &�0%� �� ���0�������%��� ������������������������; �������0� ����������������$������� ������ �����; 3�������/� �0����'��� ���� �$��

������������� �������� �

����������� ��� ������� ���������������

>��� �� ������� �������� ��*� ��������� �-

; ��$�����������$%���%�� ������������������������������ �������� �; 3��0� �; F���'��; ������0� �; �4��1����

; � �������� ������ ������B������������� �����; �������$%��������� �������� �1�'����� �������� �������� ���������� �'��'�������������������������$���������� ����2

������������� �������� �

����������� ��� ������� ���������������

� �������� � ��J��'������ ��

9���� ����E������� ����������$�'���� ���������������'��������������H�1������%1���� ������� ���������� ���%���

; #�� ������� �$������� ����$������������������� ����������; �����E��������; ������� ������ �����

������������� �������� �

����������� ��� ������� ���������������

� �������� � ���������

; ��� �������� ��������$K���%���������� ������; �E�� ���������� K�����'���� ��������� ��$ �0����'� ; ��� ������%���������'��%������0���$���'�������0� ��� �������� �; ������������'��%������0���$�������;��� ������ %

������������� �������� �

����������� ��� ������� ���������������

� �������� � ����� �

; ����'���� ��������0���� ���������������������� ���������������� ������; ���%���� ��������0����0� �; ���%����'������$��������0�%; ����� �������� �������� �����'�����'����������0���;�������� �������������������� ������

������������� �������� �

����������� ��� ������� ���������������

� �������� � �������'�����$�����$%

; 3���G����������0������%��; �����%��� �������$� ���$�*��0� ����-; ��G�� ���������������$%���� ; &�0� ���������������������������

������������� �������� �

���������� ������������

� �������0� ��<�.������ ��

Richard Stallman

Eric S. Raymond

Photos courtesy of Doc Searls

������������� �������� �

����������������

#��, �������

� �� $�������%

� . '��H

� >� �H�

� �� ����&%��

� ��� �������

� 9���$

������������� �������� �

����������������

� �������0� �

L� ������0� �M ��������� ������'� �%1����� ���2�"�����������������L� ��M ����L� ��������M �������L� ��� ���M

2 � ��������� ������� �$ ��1��� ��%��� ���

42 � ������������%���0������ �$ ���0� �����������������%�� ����

:2 � ��������� ���� �'������������%�����������%�� ���$�'�

62 � ������������ ��������� �$ ������ ������%�� ���� ����������������'����������0������������%�'�����2

������������� �������� �

������������������� �����������

���������

� .�� ���$��%����*�� �%�!5-

� ������������� �� �*�����I5-

� ��� ���9��������*�� �%�4555-

� #��� %�>� �����������������*455NO-

������������� �������� �

��������������������!���� ��� ��"������#�����

�����$�����������

� ��#������������������ ���� �� ������������

� $ ������ ��"��� ��� ����� ������������������

� %��� &���� ���� ���� ��� ���� �����$�������

� '��� ����� ������ ��� ������0�$������

)��� ������� �$�'���� �0�%������������$����0� ��'%����$������������$����� ������2��� ��$������0� ��0��

������������������(

������������� �������� �

������������������� �����������

����������$��

� 3�;������ ���$ �����

� &����$������

� /���� �

� .���� ��$

� ��� ��������#9�

������������� �������� �

���������$� �

9 ��������

������������� �������� �

��������������������

�� �����. ������� �������� �Business Process Member Requests an Rx

Refill (Call Center IVR or Online)

Request Denied

Rx Dept Processes RefillPC Physician

Approves or Denies Request (WS or Email)

Member Informed that Refill is Ready

Validate Member is Authorized to Make Request

Determine Member’s Coverages and Primary Care Physician

Send Request Notification to pharmacy

Send Request Notification to Notes

Patient Records

Services

Member Informed that Request has been Denied

Request Approved

WS Enabled

Not WS Enabled

CreditVerification

Office Scheduling

Email System

Authorization ServiceEmail Service

Outpatient ServiceMasters Service

HR

- long running- one or more persons interacting- multiple valid business process states- alternative workflows for non-normal

conditions

- short term, non-interactive- one change of business state - consumes one or more enterprise service- targeted level of service reuse- loose coupling important- may require compensating transactions

- collaborations to implement a single Web Service

- collaborating apps encapsulated via Web Services

- Performance favored over loose coupling

Components

������������� �������� �

���������(�������)��"� ��

��� ����

� 3����������������

� / �����������%� �*���������$-

� ����$������

� ��� �$�, ���

� ���� ���

������������� �������� �

���������%��������!

���/#

CollectUser Data

Get Quote

Select Policy

������������� �������� �

��������������������

�� �����. ������� �������� �

� ���.������������������������������� ����

� ��L� ����M �����������������������.�

� �� �����������������'����� ���

� �� �����, ����� ���$��� ���������

� �� ��������������(����1�9��1��E�����

� ����0���;��0���������)�'��� ����

ServiceRegistry

ServiceProvider

ServiceConsumer

Find Register

Bind,Execute

������������� �������� �

��������� �����������

�.��/�� ���� ����

� ������ ��������� �����

� �� ��������'������ ����

� &����%�/������

� #�� ��� �'��

� /��'������������ �����0� �

� &�������� ��� ��

� �������$%��$����

� #�����'���%���,��%�� ����

� /�����'��

� ����� ��#� �������

������������� �������� �

���������'���������

F� ���� ��

� L"����0�,�$�M ����0������%����'��� ����;� �����

� ����� ��H������ ��$�������*�������-�� ����������������� ����;� �����������%

������������� �������� �

����������������!

>��� �'������

� ����� �

� P�&��� %����

� P�&���$��� �

� P�&�+�%����$����

� >��� �'������

� F���������� ����

� P�&��E�� �������%

� 9���� �.�� ���0

������������� �������� �

����������������!

P�&��E�� �������%�������

QR�3�#�"������"�����L=�#M@

P�&�� ���� �'������ �������������(

S����(CC00020:2� $C��C��/;E��T������;��;�����U(

L)�����P�&�� ���� � ���$�H���� ��� ����������� �������%1��� �� ������������������������1������ ���� ��������������� ������������E�2�#����������%����E�� ��1��������� �����������������$�����������������P�&��������1������ ���� ���%1�'���������1����������������%J� ������������E�DM

������������� �������� �

���������*����&��

, �'���������

� �%�������$�����

� &����%���

� 9����, ����

������������� �������� �

���������*����&��

�%�������$����

� ����� �$

� ��� ��$

� ���� �$

� 9����$

� ���� ��$

������������� �������� �

���������*����&��

&����%���

� � ��� �����

� >� ���$

� F�� ������

� , ������$

� ������%��� ���

������������� �������� �

���������*����&��

9����, ����

� � ����������$����

� ���$��, �� ���H����

� 9�����������%������ �$

������������� �������� �

���������% �����

� �����'�����.��������� �������$

� ���������������3.����$���%���� ��$������$�������������'������'%����$���� $��H����

� �%�� ��� �����������

� ����/������D

� .'B���22F������

� ���� ��������/����'� ����

� F������� ���QQ���$ ����@@

������������� �������� �

���������% �����

�����������0�

������������� �������� �

��������������������

/������

; /�� ����$������'�����$��G�����%�0� ��$����0� ������������������ ����0���� ���������������%����������; �����0����������������0������$�� ���$ ��������� ����%1���'�$���%��������1�0���������������������������$�� �������%1�� ������'����%���� ������'����%2; ��������0� ���$��� �0�������� �����������������������%; #������� �����$������� ����'����%���������������0� �

������� �������$

������������� �������� �

����������� �&���

�������������� �� � ���

(� �

������� ��� � �!�"������