分库分表 摘自: http://rdc.taobao.com/team/jm/archives/590 一般有几个目标:
two feature for SOA 1.1 reuse existing IT asset(EIS) 1.2 loosely coupling, integration 2. product HP BTO(Business Tech. Optimizer) HP SOA governance Systinet is responsible for: repository,registry SLA, Service Level Agreement policy management, security/transation Service Life Cycle management, QoS, Reliable Message 3. difference between JAX-WS2.0 and JAX-RPC new API Annotations programming model Asynchronous programming model provider/dispatch动态编程模型 4. SOAP message structure Envelope Header Body Fault simple/complex Type 5. WSDL structure Types Message PortType: that is interface, include multi operations Binding: communication protocol binding Service: include multi portType
Non functional Requirement(NFR):
In JDK5, Annotation is introduced. Annotation just simplify programming, not for performance raising
import model/linked model/container model 1.1 Imported Model Builder: Host Model and target Model share the same WebApp, target model are imported into the host model at generation time. The host model can invoke all the builder calls of the target model, but cannot change any of the builder imputs. 1.2 Linked Model Builder: Host model and Linked model use two separate WebApp. From a host model, we can access any public methods, Linked Java Objects(LJOs), and action lists in Linked Model. They are roughly analogous to classes in java. Linked Model builder is best suited for linking to data and logic that resides in another model. It is not suited for linking to any user interface elements(pages, buttons, forms, and so forth) that may reside in another model. 1.3 Model Container Builder: The Model Container builder allows a model to host another model at the named page location. It is ideal for retrieving user interface components from another model. 2. app war/portal war/ dev war 3. lifecycle, profile -> generation time -> execution time 4. portal server/portlet container/portlet portal server: first received request from the client forward the request to portlet container aggregating the content produced by the protlets portlet Container: contains and run portlets, manages portlets lifecycle, provides portlets with the required runtime environment,provides persistent storage for portlet perferences 5. portlet container / servlet container portlets and servlets are java technology based web components both are managed by a specialized container both generate dynamic content lifecycle is managed by a container inteact with web client via a request/response paradigm difference: portlet only generate markup fragments, not complete documents. The portal aggregates portlet fragments into a complete portal page portlet are not directly bound to a URL web clients interact with portlets through a portal system portlets have a refined request handling, action requests and render requests portlets have predefined portlet mode and window states portlets can exist many times in a portal page portlets have means for accessing and storing persistent configuration and cusomization data portlets have access to user profile information 6. JSF Portlet Framework in RAD 7 7. Thems and stylesheet for portal server 8. configure Web service URL in WPF: first approach: 1. configure in the property file 2. load in LJO and set to share variables 3. in web service builder "advance" section, use the shared variables to override host,url,etc. there are no UI for editing second approach: 1. when export model to portlet, in portlet adapter builder, configure preference in "advance" section, each url associated with an item. 2. in LJO, get httpservlet request from webAppAccess; then get portlet request from http request; then get preference from portlet requet; last we can get the url we configurated in preference. I am not sure if we can configure the preference on UI
Webshphere Server: vertical clustering, multi-server in SMP(symmetric multi-processor) horizontal clustering, multi physical server
WPF trial: http://www.ibm.com/developerworks/downloads/ws/wpf/index.html?S_TACT=105AGX28&S_CMP=DLMAIN http://www-10.lotus.com/ldd/pfwiki.nsf RAD + web service WPF + web service WPF + LOG WPF + tomcat + debug http://www-10.lotus.com/ldd/pfwiki.nsf/dx/-debugging-information http://www.ibm.com/developerworks/forums/thread.jspa?threadID=120264 generate schema: http://www-10.lotus.com/ldd/pfwiki.nsf/dx/08122008084644PMWEB2X9.htm web service: http://www-10.lotus.com/ldd/pfwiki.nsf/dx/06182008070049PMWEBUZ3.htm
from https://www6.software.ibm.com/developerworks/cn/education/webservices/ws-eclipse-javase1/section2.html 1. new Java Project make sure JRE is JAVA SE 6 2. create POJO package com.myfirst.wsServer; import Javax.jws.WebService; @WebService public class SayHello { private static final String SALUTATION = "Hello"; public String getGreeting( String name ) { return SALUTATION + " " + name; } } 3. 用 wsgen 生成中间文件 wsgen -cp ./bin -keep -s ./src -d ./bin com.myfirst.wsServer.SayHello 4. web service publish package com.myfirst.wsServer; import Javax.xml.ws.Endpoint; public class RunService { /** @param args */ public static void main(String[] args) { System.out.println("SayHello Web Service started."); Endpoint.publish("http://localhost:8080/wsServerExample", new SayHello()); } } 5. run as java applicaiton 启动服务 6. 通过 http://localhost:8080/wsServerExample?wsdl 查看wsdl文件内容 7. Eclipse 提供了 Run > Launch the Web Services Explorer 来测试web service. 根据WSDL文件就可以了。