Open Source SOA Stack [closed]
-
23-09-2019 - |
문제
I'd be evaluating Open Source SOA solutions. What are the options?
I'm looking for something that provides (possibly) complete SOA stack.
I'd like below features -
- BPEL
- BPM
- ESB
- SOA Governance
- Good tooling
Right now Glassfish ESB looks like a good option. Are there other good Stacks?
해결책
I got done reading "Open Source SOA" a few months back. It goes over alot of the open source stuff related to SOA and does a good compare/contrast between the various options. I'd highly recommend looking at this.
다른 팁
hGet
는 엄격합니다. 즉시 요청한 바이트 수를 요구합니다.데이터의 패킷 수준 판독을 촉진하기 위해이 작업을 수행합니다.
그러나 hGetContentsN
가 게으른이고 readFile
는 hGetContentsN
면에서 구현됩니다.
두 가지 구현을 고려하십시오.
hGetContentsN :: Int -> Handle -> IO ByteString
hGetContentsN k h = lazyRead -- TODO close on exceptions
where
lazyRead = unsafeInterleaveIO loop
loop = do
c <- S.hGetSome h k -- only blocks if there is no data available
if S.null c
then do hClose h >> return Empty
else do cs <- lazyRead
return (Chunk c cs)
.
및
hGet :: Handle -> Int -> IO ByteString
hGet = hGetN defaultChunkSize
hGetN :: Int -> Handle -> Int -> IO ByteString
hGetN k h n | n > 0 = readChunks n
where
STRICT1(readChunks)
readChunks i = do
c <- S.hGet h (min k i)
case S.length c of
0 -> return Empty
m -> do cs <- readChunks (i - m)
return (Chunk c cs)
.
키 마술은 hGetContentsN
의 게으름입니다.
여기서는 더 이상 사용되지 않는 방법을 사용하지 않으므로 이름 지정 문제를 수정하고 출력을 단순화합니다.
Date datearr = null;
DateFormat df1 = new SimpleDateFormat("dd-MM-yyyy");
String dataa = "17-03-2012";
try {
datearr = df1.parse(dataa);
} catch (ParseException e) {
Toast.makeText(this, "err", 1000).show();
return; // do not continue in case of a parse problem!!
}
// "convert" the Date instance to a Calendar
Calendar cal = Calendar.getInstance();
cal.setTime(datearr);
// use the Calendar the get the fields
int dPDMonth = cal.get(Calendar.MONTH)+1;
int dPDDay = cal.get(Calendar.DAY_OF_MONTH);
int dPDYear = cal.get(Calendar.YEAR);
// simplified output - no need to create strings
System.out.println(dPDDay+"-"+dPDMonth+"-"+dPDYear);
. I've mentioned several open source ESB in this previous answer but, given your requirements, I'd short list ServiceMix, JBossESB and OpenESB.
I don't have much experience with JBossESB but I received good feedback from trustable sources and I know it has good tooling. OpenESB is definitely a serious candidate (although there is a little incertitude about its future). I don't find the documentation of Service Mix perfect (hard to find things).
So my choice would be between OpenESB and JBossESB (note that they don't cover governance which is actually more a human than a technical issue in my opinion).
Apache ServiceMix provides an ESB infrastructure that will do SOA in an extremely full featured way. Apache Camel can also be plugged into ServiceMix for enhanced routing and messaging rules.
I'm seriously looking at Sun GlassFish ESB. Although I'm a .net developer the tooling and examples (and book on amazon) are very good and easy to use. It does not cover the governance but very strong BPEL - For what I want I do not even have to know Java - bonus.
Something I have been working for scientific workflows using service-oriented technologies might be useful to you. It's called OMII-UK and the distribution by now contains quite a stack of features. All based on opensource techs (e.g., Tomat, Axis, ActiveBPEL, Eclipse BPEL...). Might be worth a look.
Progress FUSE (Apache ServiceMix) is an answer to the lack of documentation with pure ServiceMix.
You can use Apache ODE to integrate BPEL.
Good set of tutorials found here: