Wiki Markup |
???? Apache Tuscany Java SCA FAQ ???????????????
Panel |
---|
borderColor | #C3CDA1 |
---|
bgColor | #ECF4D1 |
---|
titleBGColor | #C3CDA1 |
---|
title | Apache Tuscany |
---|
|
\\
{panel:title=Apache Tuscany | | | =solid|borderColor=#C3CDA1|titleBGColor=#C3CDA1|bgColor=#ECF4D1}
* [|#Build Questions]
** [ |#BuildA]
** [ |#BuildB]
** [ |#BuildC]
** [ |#BuildD]
** [ ?|#BuildE]
** [???? |#BuildF]
** [ |#BuildG]
** [RC |#BuildH]
** [|#BuildI]
** [Eclipse Tuscany Java SCA |#BuildJ]
** [Maven|#BuildK]
* [Java |#Implementation JavaQuestions]
** [ @Service ????????|#ImplementationJavaA]
** [????????|#ImplementationJavaB]
* [|#Binding Questions]
** [SCA |#BindingA]
* [|#DataBinding Questions]
** [|#DataBindingA]
* [|#Contribution Questions]
** [|#ContributionA]
** [ |#ContributionB]
* [?????|#Policy Framework Questions]
** [Tuscany ?|#PolicyA]
** [??'confidentiality' ?|#PolicyB]
* [??????|#Specification Questions]
** [Tuscany |#SpecificationA]
** [ |
Anchor |
---|
| Build Questions |
---|
| Build Questions |
---|
|
Wiki Markup |
---|
|#SpecificationB]
{panel}
h2. {anchor:Build Questions}
{bgcolor:#C3CDA1}??????
{bgcolor} |
Wiki Markup |
---|
h3. {anchor:BuildA}
{bgcolor:#C3CDA1}???????? Java?
{bgcolor}
|
IBM ? Sun ? JDK 1.5 ??? ??Tuscany?????????????? ??
????JDK1.4 ?? ?Tuscany SCA ??????? ?JDK1.5?????????? ??
JDK1.6?XML???????????????????????????????????????????????????????JDK1.6?
{ Code Block |
---|
}
javax.xml.stream.FactoryConfigurationError: Provider
javax.xml.stream.XMLInputFactory could not be
instantiated: java.lang.InstantiationException
at
javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:158)
| Wiki Markup |
---|
{{code}
h3. {anchor:BuildB}
{bgcolor:#C3CDA1}???????? Maven?
{bgcolor}
|
???? Apache Tuscany?????? ??Maven?????? ????Maven2.0.5 ????????????????????????????????????2.0.5? Wiki Markup |
---|
h3. {anchor:BuildC}
{bgcolor:#C3CDA1}??????Tuscany???????
{bgcolor}
?? |
??Tuscany?SVN???????????????????????????????????? ????trunk????????????????????????????????????????????????? ??
????????????????????????????????????????? ??
??????????IDE
????????
{ Code Block |
---|
}
cd mytuscanydir
svn checkout [https://svn.apache.org/repos/asf/incubator/tuscany/java/]
{code}
??(?? | (????????????) Code Block |
---|
{code}
svn update [https://svn.apache.org/repos/asf/incubator/tuscany/java/]
{code}
|
???maven Code Block |
---|
??maven??
{code}
cd mytuscanydir/sca
mvn clean
{code}
?? |
????maven ??????????maven ???????? ???SCA?? Code Block |
---|
??
{code}
.m2\repository\org\apache\tuscany\sca
{code}
|
????sca
{ Code Block |
---|
}
cd mytuscanydir/sca
mvn
{code}
| ?????????????????????????? Wiki Markup |
---|
h3. {anchor:BuildD}
{bgcolor:#C3CDA1}???Java????
{bgcolor}
?? |
??itest??????? ????"Java heap space"???? ????itest???????????????????? ??
??"MAVEN_OPTS="-Xmx1024m -Xms512m" ???????sca?pom? ??[1 ]??surfire plugin????? ??
[1] [1 https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/pom.xml Wiki Markup |
---|
]
h3. {anchor:BuildE}
{bgcolor:#C3CDA1}????????Eclipse???
{bgcolor}
?? |
????????????????svn???????????? No Format |
---|
??
{noformat}
demos
distribution
itest
modules
samples
tools
pom.xml
{noformat}
|
?? ??maven?? Code Block |
---|
??
{code}
mvn
{code}
|
mvn??????????????Eclipse Code Block |
---|
??Eclipse??
{code}
mvn -Peclipse eclipse:eclipse
{code}
?? |
???????".classpath" ? ".project" ????????????Eclipse ??????? ?Eclipse? ????"File/Import/Existing Projects Into Workspace"????????????Eclipse???? Eclipse?????? ??????
????????????????????????????????????????????????????? Wiki Markup |
---|
{bgcolor:#C3CDA1}????WebApp??
h3. {anchor:BuildF}
{bgcolor:#C3CDA1}????WebApp??????????Eclipse WTP???
{bgcolor}
?? |
?????Eclipse WTP ?????WebApp ???? ???WTP Web ?????? ?mvn eclipse:eclipse ?????????? -Dwtpversion=1.5?
{ Code Block |
---|
}
mvn -Dwtpversion=1.5 -Peclipse eclipse:eclipse
{code}
??? | ?-Dwtpversion=1.5??? ????Eclipse?? ?? WTP Web ????? ?<packaging>war</packaging> ?????????????????WTP Tomcat ? Geronimo Server ???, ???Eclipse??????????? Wiki Markup |
---|
??
h3. {anchor:BuildG}
{bgcolor:#C3CDA1}??IBM JDK?? WSConfidentialityTestCase??????java.lang.ExceptionInInitializerError arising from the base java.security.InvalidKeyException: Public key presented not for certificate signature - ???????
{bgcolor}
?? |
???????IBM JDK? jre\lib\security\java.security??????????? No Format |
---|
??
{noformat}
#
# List of providers and their preference orders:
#
security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider
security.provider.3=com.ibm.jsse2.IBMJSSEProvider2
security.provider.2=com.ibm.crypto.provider.IBMJCE
security.provider.4=com.ibm.security.jgss.IBMJGSSProvider
security.provider.5=com.ibm.security.cert.IBMCertPath
security.provider.6=com.ibm.security.sasl.IBMSASL
|
Wiki Markup |
---|
{noformat}
h3. {anchor:BuildH}
{bgcolor:#C3CDA1}maven ?????????????
{bgcolor}
? |
??????????? ?maven ???????????????????????????????????maven settings.xml???????????? Code Block |
---|
??
{code}
<mirrors>
<mirror>
<id>ant.staging</id>
<url>http://people.apache.org/~antelder/tuscany/1.0-RC1a/maven</url>
<mirrorOf>apache.incubator</mirrorOf>
</mirror>
{code}
|
settings.xml?? ??home ????.m2??????????? ?? : "C:\Documents and Settings\Administrator\.m2"??????????????????: [settings.xml Wiki Markup |
---|
|https://svn.apache.org/repos/asf/incubator/tuscany/java/etc/settings.xml]
h3. {anchor:BuildI}
{bgcolor:#C3CDA1}???????????????
{bgcolor}
|
Tuscany??JDK logger ??info, warning ?. ???????logging.properties ????. . Tuscany????????????? ????JDK? ????INFO ?????????????????????? ?logging.properties?????? ????jre/lib ????????IBM JDK Code Block |
---|
??
{code}
C:\thedirwhereiinstalledjava\jre\lib\logging properties
{code}
?? |
????????FINE???????? Code Block |
---|
??
{code}
.level= FINE
{code}
|
????????????
{ Code Block |
---|
}
java.util.logging.ConsoleHandler.level = INFO
{code}
?? | JDK??????????? Wiki Markup |
---|
[??|http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/overview.html]?
h3. {anchor:BuildJ}
{bgcolor:#C3CDA1}???Eclipse?????Tuscany Java SCA?????
{bgcolor}
|
?????????java?? java???????? [? ???? |http://www.eclipsezone.com/eclipse/forums/t53459.html]
??JVM?????? JVM??????????? ???????Calculator??? Code Block |
---|
??
{code}
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-calculator.jar;
.calculator.CalculatorClient
Listening for transport dt_socket at address: 8000
3 + 2=5.0
3 - 2=1.0
3 * 2=6.0
3 / 2=1.5
{code}
? |
???????? ?-X. ????????8000. ? Eclipse ????????????? ???debug dialog ????? ???"Remote Java Application"??8000???? 8000???? ????Eclipse??
? Tuscany SCA ????? Eclipse????calculator?? Wiki Markup |
---|
{bgcolor:#C3CDA1}Maven? Tuscany SCA ???????????calculator????
h3. {anchor:BuildK}
{bgcolor:#C3CDA1}Maven{bgcolor} |
???????????????
{bgcolor}
?? ?????????????????windows?????????????????????????????????????????????????????????????????? Anchor |
---|
| Implementation JavaQuestions |
---|
| Implementation JavaQuestions |
---|
|
Wiki Markup |
---|
??
h2. {anchor:Implementation JavaQuestions}
{bgcolor:#C3CDA1}Java??????
{bgcolor} |
Anchor |
---|
| ImplementationJavaA |
---|
| ImplementationJavaA |
---|
|
Wiki Markup |
---|
h3. {anchor:ImplementationJavaA}
{bgcolor:#C3CDA1}???@Service????????????
{bgcolor}
{ |
Code Block |
---|
}
@Service(interfaces={Interface1.class, Interface2.class, Interface3.class} )
public class ServiceImpl implements Interface1, Interface2, Interface3{
...
}
|
Anchor |
---|
| ImplementationJavaB |
---|
| ImplementationJavaB |
---|
|
Wiki Markup |
---|
{code}
h3. {anchor:ImplementationJavaB}
{bgcolor:#C3CDA1}???????"??"?????
{bgcolor}
|
???????????????...
{ Code Block |
---|
}
public class ServiceImpl implements ServiceInterface1{
@Reference
ServiceInterface2 serviceReference1;
@Reference
private ServiceInterface2 serviceReference2;
@Reference
protected ServiceInterface2 serviceReference3;
@Reference
public ServiceInterface2 serviceReference4;
...
}
{code}
? | ??????? ?serviceReference1 ? serviceReference2 ?? null??? ?? SCA ??" ??" protected ? public ?? ?????????" ??"??????????@Callback, @ConversationId ? @Context? Anchor |
---|
| Binding Questions |
---|
| Binding Questions |
---|
|
Wiki Markup |
---|
h2. {anchor:Binding Questions}
{bgcolor:#C3CDA1}???????
{bgcolor} |
Wiki Markup |
---|
{bgcolor:#C3CDA1}????EJB
h3. {anchor:BindingA}
{bgcolor:#C3CDA1}????EJB??????SCA???????SLSB??
{bgcolor}
?????????????SCA??SLSB?????????????? :-)
h2. {anchor:DataBinding Questions}
{bgcolor:#C3CDA1}?????????
{bgcolor}
h3. {anchor:DataBindingA}
{bgcolor:#C3CDA1}??????????????
{bgcolor}
???????????????????????SCA????Java ??, XML ?SLSB?, ?
{bgcolor} |
? CORBA ?? , ????????SCA??SLSB?????????
??? Anchor |
---|
| DataBinding Questions |
---|
| DataBinding Questions |
---|
|
Wiki Markup |
---|
{bgcolor:#C3CDA1}?????????
{bgcolor} |
Wiki Markup |
---|
{bgcolor:#C3CDA1}??????Java???????????Java
{bgcolor} |
??????????????????????? Java????Java ??, XML ??, ??CORBA ??, ? Java?????????????????? ????????????????Java???????Java?? WSDL????????? WSDL???? XML???
?JavaJava?????Java??????????????????? , ??? XML??????? DOM, StAX ?? SDO, ? JAXB ???????WSDL?? AXIOM?? TuscanyWSDLXML? ?????????????
{quote}
{quote}
# *??????? data mediator interceptor???, ???XML???DOM, StAX ??SDO, ? JAXB ?????? R??? AAXIOM??Tuscany????? S??? B???? - ?????data mediator interceptor????
*
- ??????????R?A??
A- ???S?B?????????????
???????????AB???????????????????
- ??????????????????????
????????? (- ????????
)- ????????????(????
Axis2- )?
RMI- ???????????Axis2?RMI??????????????
Axis2- ???
AXIOM- ?????Axis2?AXIOM??????????????
AXIOM- ????AXIOM??????????????????AXIOM???????????????????
??:
## A - :
- A ??
??- Java
- ??
- X(java)
?? R
## X - R
- X ???
- R???
## - ?????
- X(java)
- ???
- AXIOM
- ??
- X(axiom)
## - X(axiom)
- ?
??- Axis2???
??
## - Axis2???
- X(axiom)?
??- (XML
??- )????
## ??- Axis2??????
?? - XML
- ?????
- X(axiom)
## - X(axiom)
- ?
??- Axis2???
- ??
## ??- ????????????
- X(axiom)
- ???
- X(java)
## - X(java)
- ???
- B???
## - B???????????????
- X(java)
.
??- ???????????????????????:
????- ???A
????- Axis2???????
????- Axis2???????
??- B?
?????????????????
- A
- ?
- B?????A
- ?
- B
- ???????????????????????????
- A->net
- ?
- net->B?
Anchor |
---|
| Contribution Questions |
---|
| Contribution Questions |
---|
|
Wiki Markup |
---|
h2. {anchor:Contribution Questions}
{bgcolor:#C3CDA1}Contribution?????
{bgcolor}
h3. |
Anchor |
---|
| ContributionA |
---|
| ContributionA |
---|
|
Wiki Markup |
---|
{anchor:ContributionA}
{bgcolor:#C3CDA1}META-INF/sca-contribution.xml???????
{bgcolor}
[ |
SCA ?????? 1.00 ?|http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications] ? ?1.10.2.3. ?????????sca-contribution.xml???????????????????????? ??
??????????contribution?
{ Code Block |
---|
}
/my/contribution/dir
{code}
? | ??????????????????? ?contribution ??. ??, ??????
{ Code Block |
---|
}
/my/contribution/dir/META-INF/sca-contribution.xml
/my/contribution/dir/mycomposite.composite
{code}
| sca-contribution.xml???
{ Code Block |
---|
}
<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="http://mycomposite"
xmlns:management="http://mycomposite">
<deployable composite="mycomposite:MyComposite"/>
</contribution>
{code}
| ?contribution ???? ?mycomposite.composite ??????????mycomposite:MyComposite ???, ??????? Anchor |
---|
| ContributionB |
---|
| ContributionB |
---|
|
Wiki Markup |
---|
h3. {anchor:ContributionB}
{bgcolor:#C3CDA1}META-INF/sca-deployables/ ???????
{bgcolor}
|
?? ??Tuscany?????? ????, SCA????????? ??
????????? ??contribution?
{ Code Block |
---|
}
/my/contribution/dir
{code}
?? | ????????????????????/META-INF/sca-deployables/???????? Code Block |
---|
??
{code}
/my/contribution/dir/META-INF/sca-deployables/mycomposite.composite
|
Anchor |
---|
| Policy Framework Questions |
---|
| Policy Framework Questions |
---|
|
Wiki Markup |
---|
{code}
h2. {anchor:Policy Framework Questions}
{bgcolor:#C3CDA1}???????
{bgcolor} |
Wiki Markup |
---|
h3. {anchor:PolicyA}
{bgcolor:#C3CDA1}Tuscany 1.0 ????????????
{bgcolor}
|
Java SCA 1.0??, ??SCA ????????????? definitions.xml ???????????SCA ????????????With respect to processing, computing aplicable policies and applying them is concerned here is what the Release1.0 ??? ?:
- - ???????????????????????????????????????????
- ???????????? - helloworld-ws-service-secure
????
- ?? ??????Tuscany??????API??????????
- ??WS-Policy??, ??
sca'appliesTo'- ?sca???'appliesTo'?xpath???????????????? ??
[ Wiki Markup |
---|
?|http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg21699.html]?
h3. {anchor:PolicyB}
{bgcolor:#C3CDA1}??????Axis2 WS ?????'confidentiality' ???
{bgcolor}
- ? | ???bouncycastle
- ????[][][]
- ?? - helloworld-ws-service-secure
??????????????????
- ????????
- ???????????? Anchor |
---|
| Specification Questions |
---|
| Specification Questions |
---|
|
Wiki Markup |
---|
h2. {anchor:Specification Questions}
{bgcolor:#C3CDA1}???????
{bgcolor} |
Anchor |
---|
| SpecificationA |
---|
| SpecificationA |
---|
|
Wiki Markup |
---|
h3. {anchor:SpecificationA}
{bgcolor:#C3CDA1}Tuscany ?????????
{bgcolor}
|
SCA ???????6?:
[http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-assembly ]
[ http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-policy ]
[ http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-bindings ]
[ http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-j ]
[ http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-c-cpp ]
[ http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-bpel ]
??????????????????????
???????
[http://www.oasis-open.org/archives/sca-assembly/ ]
[ http://www.oasis-open.org/archives/sca-policy/ ]
[ http://www.oasis-open.org/archives/sca-bindings/ ]
[ http://www.oasis-open.org/archives/sca-j/ ]
[ http://www.oasis-open.org/archives/sca-c-cpp/ ]
[ http://www.oasis-open.org/archives/sca-bpel/
Anchor |
---|
| SpecificationB |
---|
| SpecificationB |
---|
|
Wiki Markup |
---|
]
h3. {anchor:SpecificationB}
{bgcolor:#C3CDA1}What does the promote keyword in the composite file mean?
{bgcolor}
|
An SCA composite can be used as an implementation (implementation.composite) for a component. This is so-called recursive composition. It allows pre-assembled composites to be reused.
"promote" can be used to make services or references declared on a component inside the composite visible for wiring at the composite level. The composite services and references can be then further configured when it's used as a component implementation at outer level.
Hope the following samples help. Code Block |
---|
{code}
<composite name="Composite1" xmlns:ns="http://dummy">
<component name="C1">
<implementation.composite name="ns:Composite2">
<!-- wire ref1 to component C3's service1 -->
<reference name="ref1" target="C3/service1"/>
<!-- configure the service with ws binding -->
<service name="svc1">
<binding.ws .../>
</service>
</component>
</composite>
|
Code Block |
---|
{code}
{code}
<composite name="Composite2" targetNamespace="http://dummy"
xmlns:ns="http://dummy">
<component name="C2">
<implementation.java class="my.C2Impl">
</component>
<!-- innerService of component C2 is promoted as svc1 -->
<service name="svc1" promote="C2/innerService"/>
<!-- innerReference of component C2 is promoted as ref1 -->
<reference name="ref1" promote="C2/innerReference"/>
</composite>
{code}
|
|