�����Ծ�����֧�����ǵĹ�����ҵ��

10Ԫ 50Ԫ





��֤�룺  ��֤��,��������?������ˢ����֤�� ����



  ��֪ ���� �Ŀ� Lib ��Ƶ iPerson �γ� ��֤ ��ѯ ���� ���� Model Center   Code  
��Ա   
   
 
     
   
 ����
  ����
�ܹ������������ӵ����ܹ���SOA��΢����
 
��Դ:���� ���ߣ�ÿ��һʰ ������:2017-8-8
  24114  次浏览      32
 

������ҵ����Ҫ��Сʰ������ѧϰ��һ��΢�����ܹ����صļ����������ҷ���һ�¡����IJ������漰̫����ɬ�Ѷ��ļ��������Լ�����ϸ�ڣ�ֻ�ǶԼܹ�������һ���򵥵��������ɣ��ô��ҴӺ����϶�΢�����ܹ�������һ���������˽⡣�����漰�������Լ�֪ʶ�����£�

1�������ܹ�

2�������ܹ��IJ���

3��SOA��΢����

4��΢��������ȱ��

5��΢��������Ϣ

6�����񼯳�

7����������

8������ע��

9�����ݵ�ȥ���Ļ�

1 �����ܹ�

WebӦ�ó�����չ�����ڣ��󲿷�web�����ǽ����еĹ���ģ��(service side)������һ�𲢷���һ��web���������У��ܶ���ҵ��JavaӦ�ó�������Ϊwar������������(Ruby��Python����C++)д�ij���Ҳ�����Ƶ����⡣

���������ڹ���һ�������̵�ϵͳ���ͻ��¶������˶��嵥�����ÿ����ȣ����������������ͻ����ܿ죬�����Ŷ�һ���ܹ���������ͼ��ʾ��ϵͳ��

���ֽ����й��ܶ�������һ��web���������е�ϵͳ�ͽ��������ܹ���Ҳ�У���ʯ��Ӧ�ã���

�����ܹ��кܶ��ô���IDE����Ϊ��������Ӧ�����Ƶġ����ײ��ԡ����ڱ��ؾͿ�������������ϵͳ�����ײ��𡪡�ֱ�Ӵ���Ϊһ�������İ���������web������ij��Ŀ¼�¼������С�

���ǣ������ĺô����������ģ�Ӧ�ò���ô���ӡ����ڴ���ģ�ĸ���Ӧ�ã������ܹ�Ӧ�û��Ե��ر����أ�Ҫ�޸�һ���ط���Ҫ������Ӧ��ȫ������(PS���ڲ�ͬ�ij���������Ҳ����������);����ʱ������;�ع��������ڹ���;����Ч�ʽ��͵ȡ����⣬�����ܹ������ڸ��¼������ܣ�������Ը�⽫ϵͳȫ����д(����̫����Ը���ϰ�Ҳ��Ը��)��

2 �����ܹ��IJ���

��ϸһ����վ��ҵ������ģ����ʱ�ᷢ��ʲô����?�����Ȳ���?OK����web�����������ݿ�ѹ������?OK�����������������ݿ⡣���ݿ�̫����?��һ���������ݷֿ��洢���׳ơ��ֿ��ֱ�������Щ��û�����⣬good job�������������ij�������������ǿ������ͼFig2��

����ͼ������ά�ȸ�����һ��ϵͳ����չ���̣�

(1)x�ᣬˮƽ���ƣ����ڸ��ؾ��������������Ӷ���web������;

(2)z����չ���Ƕ����ݿ�����չ�����ֿ��ֱ�(�ֿ��ǽ���ϵ���ܵı�����һ̨���ݿ��������ϣ��ֱ�����Ϊһ�ű�������̫�࣬��Ҫ��һ�ű�������ͨ��hash���ڲ�ͬ�����ݿ���������);

(3)y����չ���ǹ��ֽܷ⣬����ְͬ�ܵ�ģ���ֳɲ�ͬ�ķ��񡣴�y������������չ�����ܽ�����Ӧ�÷ֽ�Ϊһ�鲻ͬ�ķ��������綩���������ġ��ͻ���Ϣ�������ġ���Ʒ�������ĵȵȡ�

3 SOA��΢����

SOA:��������ʽ�ܹ���SOA���Ǽ��ɶ����ϴ�������һ����Ӧ�ã���һ�ֻ��ƣ����ǽ����幹��һ���˴�Э�����׼���һ����˵��ÿ����������ʼ����ִ��һ��������ҵ���߼���ͨ����������������action�����ĸ��־��������빦�ܡ�����һ�㶼�������ϵģ����Ⲣ��SOA�ܹ�ģʽ��Ҫ����

΢��������һ�ּܹ�����ģʽ����΢�����ܹ��У�ҵ���߼������ֳ�һϵ��С����ɢ���ϵķֲ�ʽ��������ͬ�����˽ϴ���Ӧ�á�ÿ������������Ϊ΢���񣬶�ÿ��΢�������������ܹ���ִ���ŵ��������񣬻����𵥶��Ĺ��ܡ�ÿ��΢�������ܻᱻһ������������΢�������ã���ִ�нϴ�Ӧ����Ҫ���ɵľ���������ϵͳ��Ϊ����ִ�С���������������ʾͼƬ���񣬻�������������Ҫ����ִ�е������ṩ��ͳһ�Ľ���������ʽ��������Ӧ���ڲ�ͬ�ط����ɻ�ά����ͬ���ܵĶ����汾��

1��. ���𵥸�����

2��. ��������

3��. ����һ������������

4��. ӵ���Լ������ݴ洢

5��. һ֧С�ŶӾ���ά������΢����

6��. ���滻��

������SOA���������£�

SOA���Խ�Ӧ�ü��ɣ�һ��������������ģʽ��ȷ����Ӧ���ܹ�����������΢�������Բ����¹��ܣ�������Ч����չ�����Ŷӡ��������ڷ�ɢ�������������������Զ���ִ�С�

4 ΢��������ȱ��

΢�����ܹ�ģʽ�кܶ��ô������ȣ�ͨ���ֽ��޴�����Ӧ��Ϊ�������񷽷������˸��������⡣�ڹ��ܲ����������£�Ӧ�ñ��ֽ�Ϊ�����ɹ����ķ�֧��������ÿ����������һ���� RPC- ������Ϣ���� API ���������ı߽硣

�ڶ������ּܹ�ʹ��ÿ�����񶼿�����ר�ſ����Ŷ��������������߿�������ѡ�񿪷��������ṩ API ������

������΢�����ܹ�ģʽʹ��ÿ��΢�����������𣬿����߲�����ҪЭ���������������Ա�������Ӱ�졣

������΢�����ܹ�ģʽʹ��ÿ������������չ�������Ը���ÿ�������Ĺ�ģ����������������ʵ����

΢�����ܹ�Ҳ�в��㡣����һ���������������ƣ���΢������ǿ���˷�����С��ʵ���ϣ���һЩ�����߹Ĵ�������΢��һЩ�ģ�10-100 LOC�����顣����С���������ڱ����ã����Dz�Ҫ����΢����ֻ�ǽ���������������Ŀ�ġ�΢������Ŀ������Ч�IJ���Ӧ�ã�ʵ�����ݿ����Ͳ�����

����һ������֮�����ڣ�΢����Ӧ���Ƿֲ�ʽϵͳ���ɴ˻��������еĸ����ԡ���������Ҫ�� RPC ������Ϣ����֮��ѡ�������ɽ��̼�ͨѶ���ơ����⣬���DZ���д������������Ϣ�������ٶȹ������߲����õȾֲ�ʧЧ���⡣

����һ������΢��������ս�����ڷ��������ݿ��ܹ���ͬʱ���¶���ҵ���������������ձ顣�����������ڵ���ʽӦ����˵�����ף���Ϊֻ��һ�����ݿ⡣��΢�����ܹ�Ӧ���У���Ҫ���²�ͬ������ʹ�õIJ�ͬ�����ݿ⡣

����һ������΢�����ܹ���Ӧ��Ҳ�Ǻܸ��ӵ�����������һ����ս���ڣ�΢�����ܹ�ģʽӦ�õĸı佫�Შ���������񡣲���һ��΢����Ӧ��Ҳ�ܸ��ӣ�һ������Ӧ��ֻ��Ҫ�ڸ��Ӿ��������沿�����Եķ������ͺ��ˡ�ÿ��Ӧ��ʵ������Ҫ�����������ݿ�����Ϣ�м����Ȼ���������ÿ���������ж���ʵ���������γɴ�����Ҫ���á���������չ�ͼ��صIJ��֡�����֮�⣬�㻹��Ҫ����һ���������ֻ��ƣ����������з���������������������ͨѶ�����ĵ�ַ��������������ַ�Ͷ˿ڣ�

5 ΢������Ϣ

1����ͬ����Ϣ �C REST, Thrift

ͬ����Ϣ���ǿͻ�����Ҫ���ֵȴ���ֱ������������Ӧ����REST��΢������Ĭ�ϵ�ͬ����Ϣ��ʽ�����ṩ�˻���HTTPЭ������ԴAPI�����ļ�����Ϣ��ʽ������΢���񶼲������ַ�ʽ��ÿ�����ܴ�����һ����Դ�Ͷ�Ӧ�IJ�������

Thrift������һ����ѡ�ķ����������ýӿ��������Զ��岢����������֧�ֿ���չ�Ŀ����Է��񿪷����������Ĵ����������������ڶ��������У��� C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk �ȴ�����Ч�ġ��޷��ķ������䴫�����ݲ��ö����Ƹ�ʽ������ XML �� JSON ������С�����ڸ߲��������������Ͷ����ԵĻ����������ơ�

2�����첽��Ϣ �C AMQP, STOMP, MQTT

�첽��Ϣ���ǿͻ��˲���Ҫһֱ�ȴ�����Ӧ������Ӧ�������õ�֪ͨ��ijЩ΢������Ҫ�õ��첽��Ϣ��һ������AMQP, STOMP, MQTT��

3������Ϣ��ʽ �C JSON, XML, Thrift, ProtoBuf, Avro

��Ϣ��ʽ��΢����������һ������Ҫ�����ء�SOA��web����һ�������ı���Ϣ�����ڸ��ӵ���Ϣ��ʽ��SOAP������Ϣ���壨xsd����΢�������ü򵥵��ı�Э��JSON��XML������HTTP����ԴAPI������������Ҫ�����ƣ�ͨ���õ�Thrift, ProtoBuf, Avro��

4��������Լ�� �C �����ӿ� �C Swagger, RAML, Thrift IDL

�����ѹ���ʵ��Ϊ���񣬲���������Ҫ����һ��Լ���������ܹ��У�SOA����WSDL��WSDL���ڸ��Ӳ��Һ�SOAP�����ϣ����ʺ�΢������

REST���Ƶ�΢������ͨ������Swagger��RAML����Լ����

���ڲ��ǻ���REST���Ƶ�΢���񣬱���Thrift��ͨ������IDL��Interface Definition Languages��������Thrift IDL��

6 ���񼯳�

SOA��ϵ�£�����֮��ͨ����ҵ�������ߣ�Enterprise Service Bus��ͨ�ţ�����ҵ���߼����м��㣨��Ϣ��·�ɡ�ת������֯����΢�����ܹ������ڽ���������Ϣ���ߣ�������ESB������������ҵ���߼��ֲ���ÿ�������ķ����նˡ�

�󲿷�΢��������HTTP��JSON�����ı�׼Э�飬���ɲ�ͬ��׼�͸�ʽ���IJ�����Ҫ������һ��ѡ���Dz�������������Ϣ���߻������أ���·�ɹ��ܣ�û�и��ӵ�ҵ���߼��������ͽ��ܼ��ֳ����ļܹ���ʽ��

1�������Ե㷽ʽ �C ֱ�ӵ��÷���

���Ե㷽ʽ�У�����֮��ֱ���á�ÿ��΢���񶼿���REST API�����ҵ�������΢�����Ľӿڡ�

ͼ��ͨ�����Ե㷽ʽͨ��

�����ԣ��ڱȽϼ򵥵�΢����Ӧ�ó����£����ַ�ʽ�����У�����Ӧ�ø��Ӷȵ�������������Խ��Խ����ά����������Щ����SOA��ESB�����������õ��Ե��ļ��ɷ�ʽ��

2����API-���ط�ʽ

API���ط�ʽ�ĺ���Ҫ���ǣ����еĿͻ��˺����Ѷ˶�ͨ��ͳһ�����ؽ���΢�����������ز㴦�����еķ�ҵ�����ܸ���ͨ��������Ҳ���ṩREST/HTTP�ķ���API��������ͨ��API-GWע���͹���������

ͼ��ͨ��API-���ر�¶΢����

�����������̵������ӣ���ͼ5�У����е�ҵ���ӿ�ͨ��API���ر�¶�������пͻ��˽ӿڵ�Ψһ���ڡ�΢����֮����ͨ��Ҳͨ��API���ء�

�������ط�ʽ���������ƣ�

a.������Ϊ΢�����ӿ��ṩ���ز��εij��󡣱��磺΢�����Ľӿڿ��Ը��ָ����������ز㣬���Զ��Ⱪ¶ͳһ�Ĺ淶�ӿڡ�

b.��������Ϣ·�ɡ���ʽת����

c.ͳһ���ư�ȫ�����ء������ȷ�ҵ�����ܡ�

d.ÿ��΢���������ø�����������ҵ�����ܸ��������ز�ͳһ������΢����ֻ��Ҫ��עҵ���߼�

Ŀǰ��API���ط�ʽӦ����΢�����ܹ���Ӧ�����㷺������ģʽ��

3������Ϣ������ʽ

΢����Ҳ���Լ������첽�ij����£�ͨ�����кͶ������⣬ʵ����Ϣ�ķ����Ͷ��ġ�һ��΢������������Ϣ�ķ����ߣ�����Ϣͨ���첽�ķ�ʽ���͵����л��߶��������¡���Ϊ�����ߵ�΢�������ԴӶ��л������⹲��ȡ��Ϣ��ͨ����Ϣ�м����ѷ���֮����ֱ�ӵ��ý��

ͼ���첽ͨ�ŷ�ʽ

ͨ���첽��������/������ģʽ��ͨ��AMQP��MQTT���첽��Ϣ�淶��

7 ��������

��������������ģʽ���ͻ��˷���ģʽ�ͷ����˷���ģʽ��

1�����ͻ��˷���ģʽ

ʹ�ÿͻ��˷���ģʽʱ���ͻ��˾�����Ӧ����ʵ��������λ�ã����Ҷ�����ʵ�ָ��ؾ��⡣�ͻ��˲�ѯ����ע������������һ�����÷���ʵ�������ݿ⣻Ȼ��ʹ�ø��ؾ����㷨����ѡ��һ��ʵ����������������

�ͻ��˴ӷ���ע�������в�ѯ�����������п��÷���ʵ���Ŀ⡣�ͻ���ʹ�ø��ؾ����㷨�Ӷ�������ʵ����ѡ����һ����Ȼ�󷢳�������

����ʵ��������λ��������ʱ����¼������ע��������ʵ����ֹʱ��ɾ��������ʵ����ע����Ϣͨ��ʹ����������������ˢ�¡�

�ͻ��˷���ģʽ��ȱ�����С���һģʽ����ֱ�ӣ����˷���ע���⣬�������������䶯�����⣬���ڿͻ���֪�����õķ���ʵ�����������ض�Ӧ��ʵ�����ܸ��ؾ��⣬����ʹ�ù�ϣһ���ԡ�����ģʽ��һ��ȱ�����ǿͻ���������ע���󶨣�Ҫ���Է������õ���ÿ���������ԺͿ��ܣ�ʵ�ֿͻ��˵ķ��������߼���

2���������˷���ģʽ

����һ�ַ������ֵ�ģʽ�Ƿ����˷���ģʽ����ͼչ��������ģʽ�ļܹ���

�ͻ���ͨ�����ؾ�������ij�������������󣬸��ؾ�������ѯ����ע��������������ת�������õķ���ʵ������ͬ�ͻ��˷��֣�����ʵ���ڷ���ע������ע����ע����

AWS Elastic Load Balancer(ELB)�Ƿ����˷���·�ɵ����ӣ�ELB ͨ���������Ի��������ⲿ������Ҳ���������ؾ��� VPC��Virtual private cloud�����ڲ��������ͻ���ʹ�� DNS ͨ�� ELB ����������HTTP �� TCP����ELB ����ע���� EC2 ʵ���� ECS ����֮�为�ؾ��⡣���ﲢû�е����ķ���ע�������෴��EC2 ʵ���� ECS ����ע���� ELB��

�����˷���ģʽ������ȱ�㡣���������ŵ��ǿͻ���������ע���ֵ�ϸ�ڣ�ֻ��Ҫ�򵥵������ؾ����������������������˱������Կ�����Ҫ���ɵķ����߼�������������������ijЩ���𻷾������ṩ��һ���ܡ�����ģʽҲ��ȱ�㡣���Ǹ��ؾ������ɲ��𻷾��ṩ����������Ϊһ����Ҫ���ú͹����ĸ߿���ϵͳ������

8 ����ע��

����ע�����Ƿ������ֵĺ��IJ��֣��ǰ�������ʵ����������ַ�����ݿ⡣����ע������Ҫ�߿��ö�����ʱ���¡��ͻ����ܹ������ӷ���ע�����л�ȡ��������ַ��Ȼ������Щ��Ϣ���ջ���ʱ���ͻ���Ҳ���޷����ַ���ʵ�������ˣ�����ע�������������ɷ����ˣ�ʹ�ø���Э�鱣��һ���ԡ�

�˽��˷���ע���ĸ������������˽�����ʵ��������ע������ע�ᡣ

��ǰ����������ʵ��������ע������ע����ע����ע����ע�������ֲ�ͬ�ķ���������һ�Ƿ���ʵ���Լ�ע�ᣬҲ����ע��ģʽ��self-registration pattern������һ���Dz��ù�������ʵ��ע��������ϵͳ��������������ע��ģʽ��

1������ע�᷽ʽ

��ʹ����ע��ģʽʱ������ʵ�������ڷ���ע������ע����ע�������⣬������Ҫ�Ļ���һ������ʵ��ҲҪ������������֤ע����Ϣ������ʱ����ͼ���������ּܹ���

��ע��ģʽ��ȱ���汸�������Լ򵥣���������ϵͳ������Ȼ����������Ҫȱ���ǰѷ���ʵ���ͷ���ע�������ϣ�������ÿ���������ԺͿ�����ʵ��ע�����롣

��һ������������������ע���������ϣ�������������ע��ģʽ��

2����������ע��ģʽ

ʹ�õ�����ע��ģʽ������ʵ��������Ҫ������ע����ע�᣻�෴������Ϊ����ע��������һ��ϵͳģ���ᴦ��������ע������ͨ����ѯ���𻷾��������¼��ķ�ʽ����������ʵ���ĸ��ġ�һ�����⵽���µĿ��÷���ʵ��������ע����ע���˷��񡣷���������Ҳ����ע����ֹ�ķ���ʵ��������������ģʽ�ļܹ�ͼ��

������ע��ģʽҲ����ȱ�����ߡ��ڵ�����ע��ģʽ�У�����������ע���������ϣ�����Ϊÿ���������ԺͿ���ʵ�ַ���ע���߼����෴������ʵ��ͨ��һ��ר�з��������Ļ��ķ�ʽ���й��������IJ���֮�����ڣ����Ǹ÷��������ڲ��𻷾���������Ҫ���ú͹���һ���߿��õ�ϵͳ������

9 ����ȥ���Ļ�

�����ܹ��У���ͬ���ܵķ���ģ�鶼�����ݴ洢��ij���������ݿ��С�

ͼ�������ܹ�����һ�����ݿ��洢��������

΢������ʽ����������֮���������໥����������ҲӦ���໥���������磬ij��΢���������ݿ��ṹ���巽ʽ�ı䣬���ܻ��ж��������񣩡����ˣ�ÿ��΢������Ӧ�����Լ������ݿ⡣

ͼ��ÿ��΢�������Լ�˽�е����ݿ⣬����΢��������ֱ�ӷ��ʡ�

����ȥ���Ļ��ĺ���Ҫ�㣺

1����ÿ��΢�������Լ�˽�е����ݿ��־û�ҵ������

2����ÿ��΢����ֻ�ܷ����Լ������ݿ⣬�����ܷ����������������ݿ�

3����ijЩҵ�񳡾��£���Ҫ��һ�������и��¶������ݿ⡣��������Ҳ����ֱ�ӷ�������΢���������ݿ⣬����ͨ������΢�������в�����

���ݵ�ȥ���Ļ�����һ��������΢����֮�������϶ȣ���ͬ�������Բ��ò�ͬ�����ݿ⼼����SQL��NoSQL�ȣ����ڸ��ӵ�ҵ�񳡾��£�������������΢������ͨ���ڿͻ��˻����м��㣨���أ�������

д���������ἰ�ܹ���Сʰ����Ϊû�о������õļܹ���ֻ�����ʺ�ҵ���ļܹ��������ܹ�Ӧ�ô�ҵ����������ҵ����ȥ����������ҵ��������ҵ������Ϊ�������������ǣ�����һζ��׷���ܹ����ܹ������DZ����ڹ�˾ҵ����չ���Ŷ���Դ�м���һ�����ʵ�ѡ����Ȼ������ҵ���ķ�չ�����ع����Ż���

   
24114 ������       32
��������

��ҵ�ܹ���TOGAF��ArchiMate����
�ܹ�ʦ֮·-��������ҵ����ģ��
������վ������վ�ܹ������ͼ����ܹ���ʾ��
������Archimate�ӵ�ָ�ϣ�����ʾ����
�����ĵ�

������̨�����ܹ���������ʵ��
����ArchiMate��EA �� iSpace������ҵ�ܹ���ģ
Zachman��ҵ�ܹ����ܼ���
��ҵ�ܹ���SOA����
���ؿγ�

��ƽ̨��΢�����ܹ�����
��̨ս�ԡ���̨������������ҵ
�ڼ��û��߲������߿���ϵͳ�ܹ�
�߿��÷ֲ�ʽ�ܹ�������ʵ��