Rod Johnson의 J2EE Development without EJB를 연말선물로~~!

3장에서는 아키텍처부분을 집중적으로 살펴본다.
J2EE아키텍처를 이루고 있는 부부은 크게 3가지로 나눠진다. 잘 알고 있는 3-tier구조의 아키텍처이다.

저자가 주목하고 있는 부분은 Business Service Layer이다. 좋은 아키텍처는 잘 만들어진 Business Service Layer를 가지고 있어야 한다. 비즈니스 로직을 사용자, Web-UI, 리모트 클라이언트에게 제공하는 관문이 되기 때문이다.

좋은 Business Service Layer가 가져야 할 조건은 매우 많다. 기본적으로 J2EE아키텍처의 핵심가치들을 모두 충족해야 함은 물론이고 그 외에도 Presentation layer에 독립적이어야 하고, 트랜잭션 관리가 가능해야 하며, 개발생산성이 높아야 하고, 그 뒤에 있는 Data access layer가 감춰져 있어야 하며, 필요에 따라서 scale out이 가능해야 하고, 테스트성이 좋아야 한다.

대표적인 business service layer들에는 Session EJB, .NET Serviced Component, MVC Web Actions, Service Layer in Lightweight Container등이있다. 결국 이 책에서 얘기하고자 하는 – 지지하고자 하는 – 것은 마지막 service layer running in lightweight container라고 볼 수 있다.

왜 lightweight container의 service layer를 가진 아키텍처가 좋은 가에 대해서 크게 4가지의 대표적인 J2EE Architecture들을 비교해가면서 그 장단점을 설명하고 있다.

첫째는 Class J2EE architecture using remote EJBs. 뭐 더 말할 것도 없이 대부분의 경우에 최악의 아키텍처 되겠다. 그 최악의 복잡함은 수많은 단점을 파생시킨다. 거의 없겠지만 꼭 필요한 케이스가 아니라면 절대 선택하지 말아야 할 아키텍처이다.

둘째는 Local EJB Architecture이다. Remote EJB가 가지는 단점을 많이 축소시켜준 EJB의 타협판인데 – 처음 Local EJB가 나왔을 때 이게 머야 장난치나 하는 생각이 들었다 – 현실적인 요구 또는 불만이 약간 반영된 것으로 보면 될 것 같다. Remote EJB의 단점을 일부 극복했지만 반대로 Remote EJB의 일부 장점들을 잃어버렸고 또 여전히 EJB의 단점들을 그대로 안고 있는 아키텍처이다. EJB의 기본장점을 많이 포기하고 이렇게 땜빵식의 Local EJB를 쓴다면 왜 구지 EJB를 써야하는가가 의문으로 제기될 것이다.

셋째는 Ad hoc J2EE Architecture without EJB이다. 많은 J2EE프로젝들은 EJB없이 잘 개발되어 사용되어지고 있다. 이런 경우 그 아키텍처 구조는 해당 프로젝트의 아키텍트에 따라 다르게 설정되고 그런 면에서 “Ad hoc”이라 할 수 있다. 전형적으로 MVC구조의 web-tier를 가지며 POJO기반의 business logic을 이용한다. 종종 web-tier와 business-logic tier가 혼재하며 자체적으로 만든 singleton이나 factory를 사용한다. 트랜잭션은 JTA등을 이용해서 프로그램적으로 구현한다. Data쪽은 O/R툴이나 JDBC를 수용한다.

EJB가 가진 많은 단점을 극복할 수 있는 좋은 아키텍처이다. EJB의 복잡한 구조와 작업들을 피할 수 있고 어느정도 빠른 생산성이 보장된다. 하지만 EJB가 가지는 장점들 – remoting, business object관리의 표준, business service layer의 존재, declarative transaction management – 을 포기해야 한다. 제일 문제는 비즈니스 오브젝트들을 다루는 표준방법이 부재하다는 것이다. 또한 테스트성 면에서 EJB에 비해서 그다지 차이점이 없다.

뛰어난 아키텍트가 참여했다면 같은 조건의 EJB프로젝에 비해서 이 방법이 훨씬 나은 결과를 가져올 것이다.

넷째는 바로 이 책이 주장하는 “Lightweight Container”기반의 Architecture이다.

세번째 아키텍처와는 달리 lightweight container architecture는 business service layer면에서 EJB와 닮은 점이 많다. EJB가 가지는 단점을 피하면서 EJB의 장점은 살리는 것이 바로 lightweight container가 가지는 목적이랄까? Lightweight container는 J2EE기반이 아니다. J2EE에서 독립적이다. 또 어느 특정 UI(Web-UI)나 Data access기술에도 독립적이다.

Lightweight container의 주요 관심사는 사용하기 복잡하지 않고 특정기술에 종속적이지 않으면서 – 심지어는 자기 자신에게도 – 다양한 business service layer의 장점들을 수용하는 것이다. 대표적으로 Spring Framework과 PicoContainer가 있다. 엔터프라이즈 서비스의 주요특징중의 하나인 트랙잭션관리라는 면에서 AOP를 이용한 방법을 사용하고 있는데 이 점에선 SpringFramework이 가장 우수하고 통합적인 기능을 제공한다.

단점도 물론 있다. 우선 Local EJB와 마찬가지로 remoting facade를 사용하지 않고 직접적으로 remoting을 사용할 수 없다. 하지만 과연 remoting이 얼마나 필요한지 따져보면 큰 단점이라고 할 수 없다. 두번째는 아직 lightweight container의 standard가 없다는 점이다. 하지만 조만간 Spring이 de facto standard가 되지 않을까 기대해본다. 세번째는 아직 이런 아키텍처에 익숙한 개발자나 아키텍트들이 적다는 것인데 시간이 해결해 줄 문제이다.

다음은 Architectures In Practice라는 주제로 SUN의 Java PetStore로부터 시작해서 각 벤더와 단체에서 내놓은 각종 blueprints나 아키텍처 샘플들을 분석해나가는데… 다들 이런 저런 단점들을 – 또는 수준 낮은 코드도 보인다! – 가지고 있다. 지속적으로 지적된 내용들이다.

마지막으로 Application Server가 필요한 것인가의 문제제기인데. 사실 고가의 복잡한 application server는 꼭 필요한 경우가 아니라면 구지 선택할 이유가 없다는 것이 맞다. 분산트랜잭션을 쓴다거나 리모팅을 반드시 사용해야 할 경우라면 EJB와 WAS를 사용하는 것이 필요할 것이다.

결론적으로 뛰어난 Business Service Layer를 제공하는 것 – EJB와는 비교가 안되는 – 이 책이 제시하고자 하는 Spring Framework이 만들어진 목적이라고 할 수 있을 것이다.

계속해서 이런 주제들을 좀더 세세한 범위에서 깊이 파고 들어가서 분석하고 그 대안으로 사용될 Lightweight Container에 대해서 살펴볼 것이다.

이 책을 읽으면서 그토록 최첨단기술임을 자랑하는 J2EE분야에 (다른 기술쪽도 마찬가지겠지만) 얼마나 많은 미신들이 존재하는지 놀라게 된다. 자기 손으로 확인한번 해보지 않은 기술을 맹신하는 태도는 IT엔지니어로서 일단 실망스러운 것이다. 또는 그렇게 잘못된 믿음으로 사람들을 이끄는 업체나 개발자 스스로 조심해야 할 것이다. 나도 조금 찔리는 부분이다.

Related posts:

  1. J2EE Development without EJB (5) – EJB, Five Years On
  2. J2EE Development without EJB (6) – Lightweight Container & IoC
  3. J2EE Development without EJB (2) – Goal
  4. J2EE Development without EJB (4) – The Simplicity Dividened
  5. J2EE Development without EJB (1) – Why "J2EE Without EJB"?
  6. J2EE Development without EJB 정리는 이만
  7. SpringFramework vs. J2EE?
  8. 망해가는 EJB 최후의 발악인가? Mastering EJB3 (4th Ed)
  9. 하이버네이트와 스프링의 갈등
  10. JBoss Advanced Training 3일째
  11. 자바프로그래밍 서적 Top 10
  12. Domain Model vs. DTO
  13. Bile Blog – Hani Suleiman 인터뷰
  14. Spring에 관한 흥미로운 글 몇가지
  15. TSE2006 셋째날 세션1 – Applying DDD int the Enterprise with AspectJ

Facebook comments:

to “J2EE Development without EJB (3) – Architecture”

  1. good articles

  2. thank you for share!

  3. thank you for share!

  4. I’ve been browsing online more than 4 hours today, yet I never found any interesting article like
    yours. It’s pretty worth enough for me. In my view, if all site owners and bloggers made good content
    as you did, the web wipl be a lot more useful than ever before.|
    I could not refrain from commenting. Well written!|
    I will immediately clutch your rss as I can nnot in finding your email subscription link or newsletter service.
    Do you hawve any? Please let me recognise so that I may subscribe.

    Thanks.|
    It’s the best time to make some plans for the future and
    it’s time to be happy. I have read this post aand iff I could I want to suggest you some interesting
    things or suggestions. Maybe you can write next articles referring to this article.
    I want to read even morre things about it!|
    It is perfect time to make some plans for the fyture and it’s time to be happy.
    I have read this post and if I may just I desire to counsel you few interesting issues or suggestions.
    Perhaps you could write subsequent articles relating
    to this article. I want to learn even more issues approximately
    it!|
    I’ve been browsing onlkne more than three hours these days, yet I by no means found any fascinating article like yours.
    It’s beautiful worth sufficient for me. In my view, if all website owners and bloggers made excellent content as you did, the web will likely be a lot more useful
    than ever before.|
    Ahaa, its nice discussion on the topic of this piece of writing here at this
    blog, I have read all that, so at this time
    me also commenting at this place.|
    I am sure this paragraph has touched all the internet visitors, its really really good piece of writing on building up new blog.|
    Wow, this piece of writing is good, my sister is analyzing these things, therefore I am going to
    inform her.|
    Saved as a favorite, I really like your site!|
    Way cool! Some very valid points! I appreciate you writing this write-up and also the rest of the website is extremely good.|
    Hi, I do believe this is a great web site. I stumbledupon it ;) I’m
    going to come back onde again since i hae book-marked it.
    Money and reedom is the best way to change, may you bee rich and continue to hdlp othher people.|
    Woah! I’m really loving the template/theme of this blog. It’s simple,
    yet effective. A lot of times it’s very hard to get that “perfect balance” between superb
    usability and appearance. I must say you have
    done a great job with this. Additionally, the blog loads extremely quick for me on Internet explorer.
    Exceptional Blog!|
    These are actually great ideas in regarding blogging.
    You have touched some pleasant factors here.
    Any way keep up wrinting.|
    I really like what you guys are up too. This sort of
    clever work and reporting! Keep up the excellent works guys I’ve
    you guys to my personal blogroll.|
    Heyy there! Someone in my Faceboook group shared this website with us so I came to look
    it over. I’m definitely loving the information. I’m bookmarking and will be tweeting this to
    my followers! Outstanfing blog and briloliant design.|
    Everyone loves what you guys aree up too. This sort of clever work and coverage!

    Keep uup the excellent works guys I’ve incorporated you guys to blogroll.|
    Hi would you mind stating which blog platform you’re using?
    I’m looking to start my own blog soon but I’m having a touigh time making a decision between
    BlogEngine/Wordpress/B2evolutionand Drupal. The reason I ask is because your
    design seems dfferent then most blogs and I’m looking for something
    completely unique. P.S Apologies for being off-topic but I had to ask!|
    Hey there would you mind letting me know which hosting company you’re using?
    I’ve loaded your blog in 3 different internet browsers and I must say
    this blog loads a lot quicker then most. Can you suggest a good hosting provider at
    a fair price? Thank you, I appreciate it!|
    I like it when individuals get together and share views.
    Great website, keep it up!|
    Thank you for the auspicious writeup. It in fact was a amusement account it.

    Look advanced to far added agreeable from you! By the
    way, how can we communicate?|
    Hey there just wanted to give you a quick heads up. The text
    in your content seem to be running off the screen in Safari.
    I’m not sure if this is a formatting issue or something to
    do wih browser compatibility but I figured I’d post to let you know.
    The design look great though! Hope you get the issue resolved soon.
    Cheers|
    This is a topic which is close to my heart… Many thanks!
    Exactly where are your contact details though?|
    It’s very easy tto find out any topic onn net as compared to books, aas Ifound
    this arrticle at this web page.|
    Does your blog have a contact page? I’m having problems locating it but, I’d like to send you an email.

    I’ve got some suggestions for your blog you might be interested in hearing.
    Either way, great website and I look forward to seeing it improve over time.|
    Greetings! I’ve been reading your website forr some time now and finazlly goot thee courage to go ahead and give
    you a shout out from Houston Tx! Justt wanted to tell youu keep up the excellent work!|
    Greetings from Carolina! I’m bored to death at work so I decided
    to browse your website on my iphone during lunch break.

    I love the knowledge you provide here and can’t wait to take a look whsn I get home.
    I’m surprised at how fast your blog loaded on my phone ..

    I’m not even using WIFI, just 3G .. Anyhow, very good blog!|
    Its like you read myy mind! You seem to understand so much about this, like
    you wrote the e-book in it or something. I feel that you just couod do with a feew % to force the message house a bit,
    however instead of that, this is excellent blog.
    An excellent read. I will certainly be back.|
    I visited several web sites but the audio feature for audio songs existing at this site is really wonderful.|
    Hi, i read your blog occasionally and i own a similar one and i was just wondering if you get a lot of spam comments?
    If so how do you protect against it, any plugin or anything you
    can advise? I get so much lately it’s driving me insane so any
    help is very much appreciated.|
    Greetings! Very useful advice within this post!
    It is the little changes that will make the most significant changes.
    Thanks for sharing!|
    I truly love your site.. Pleasant colors & theme.
    Did you make this web site yourself? Please reply back as I’m attempting to create my own site
    and would like to find out where you got this from
    or just what the theme is called. Thank you!|
    Hello there! This blog post could not be written
    any better! Looking at this article reminds me of my previous roommate!
    He constantly kept talking about this. I am going to forward this article to him.

    Pretty sure he’ll have a good read. Thank you for
    sharing!|
    Amazing! This blog looks exactly like my old one! It’s on
    a totally different subject but it has pretty much the same layout and design.
    Superb choice of colors!|
    There’s definately a great deal to know about this issue.
    I really like all the points you’ve made.|
    You made some really good points there. I checked on the internet for
    more information about the issue and found most people will go along with your views on this site.|
    Hi there, I read your new stuff daily. Your story-telling style is awesome,
    keep up the good work!|
    I simply could not depart your site before suggesting that I
    extremely loved the usual information a person supply on your visitors?
    Is gonna be back often to check up on new posts|
    I need to to thank you for this great read!! I certainly enjoyed every
    bit of it. I’ve got you book-marked to look at
    new things you post…|
    Hi, just wanted to say, I enjoyed this article.
    It was inspiring. Keep on posting!|
    I leave a comment whenever I especially enjoy a article on a site or I have something to valuable to contribute to the conversation.
    It is caused by the passion displayed in the article I looked at.

    And after this article J2EE Development without EJB (3)
    - Architecture Toby’s Epril. I was excited enough to post
    a commenta response ;-) I do have 2 questions for you if it’s okay.
    Could it be only me or does it look like like a
    few of these comments look as if they are written by brain dead folks?

    :-P And, if you are writing on additional places, I would like to
    keep up with everything new you have to post.
    Could you list all of all your social pages like your linkedin profile, Facebook page or twitter feed?|
    Hi there, I enjoy reading all of your post.

    I like to write a little comment to support you.|
    I every time spent my half an hour to read this webpage’s articles or reviews every day along with a cup of coffee.|
    I constantly emailed this webpage post page to all my associates,
    since if like to read it next my links will too.|
    My programmer is trying to persuade me to move to .net from PHP.
    I have always disliked the idea because of the costs.
    But he’s tryiong none the less. I’ve been using Movable-type on a
    variety of websites for about a year and am anxious about switching to another
    platform. I have heard great things about blogengine.net.
    Is there a way I can transfer all my wordpress posts into
    it? Any kind of help would be really appreciated!|
    Hello! I could have sworn I’ve been to this
    blog before but after looking at a few of the posts I realized it’s new to me.
    Anyhow, I’m definitely delighted I stumbled upon it and I’ll
    be bookmarking it and checking back regularly!|
    Wonderful work! This is the kind of information that are meant to
    be shared across the web. Disgrace on Google for now not positioning this publish upper!
    Come on over and visit my site . Thanks =)|
    Heya i’m for the first time here. I came across this board and I find It truly
    useful & it helped me out a lot. I hope to give something back and aid others like you aided me.|
    Hello there, There’s no doubt that your website could be having
    web browser compatibility problems. When I take a look at your blog in Safari,
    it looks fine however, when opening in Internet Explorer, it has some overlapping issues.

    I simply wanted to provide you with a quick heads up! Besides that,
    fantastic website!|
    Someone essentially assist to make significantly
    posts I’d state. This is the first time I frequented your web page and so far?
    I surprised with the research you made to create this
    particular publish amazing. Magnificent job!|
    Heya i’m for the first time here. I came across this board and I in finding It
    really helpful & it helped me out a lot. I’m hoping to provide one thing
    back and aid others like you helped me.|
    Hi! I simply would like to give you a big thumbs up for your great info you’ve got here on this post.
    I’ll be returning to your site for more soon.|
    I always used to study article in news papers but now as I am a user
    of web thus from now I am using net for articles or reviews, thanks to web.|
    Your method of explaining everything in this article is actually pleasant,
    every one be able to without difficulty understand it, Thanks a lot.|
    Hello there, I found your blog by means of Google while searching for a comparable matter, your web site came up, it appears
    great. I’ve bookmarked it in my google bookmarks.

    Hi there, just changed into alert to your weblog via Google,
    and located that it’s really informative.

    I am gonna be careful for brussels. I will appreciate should you proceed this
    in future. Numerous people can be benefited out of your writing.
    Cheers!|
    I am curious to find out what blog platform you happen to be using?

    I’m experiencing some minor security problems with
    my latest site and I’d like to find something more secure.
    Do you have any recommendations?|
    I’m extremely impressed with your writing skills and also with the layout on your weblog.
    Is this a paid theme or did you customize it yourself?

    Either way keep up the nice quality writing, it is rare to see a
    nice blog like this one these days.|
    I am really impressed along with your writing talents as neatly as
    with the structure to your weblog. Is that this a paid subject or did you modify it yourself?
    Anyway stay up the excellent high quality writing,
    it’s rare to see a nice blog like this one today..|
    Hello, Neat post. There’s a problem with your web site in internet
    explorer, could test this? IE still is the market chief and a huge section of
    other people will omit your excellent writing because
    of this problem.|
    I am not sure where you’re getting your info, but good topic.
    I needs to spend some time learning much more or
    understanding more. Thanks for wonderful information I was looking for this info for my mission.|
    Hi, i think that i saw you visited my web site thus i came to “return the favor”.I am
    trying to find things to improve my website!I
    suppose its ok to use some of your ideas\

    My web site: longchamp outlet

  5. You Can Try HERE
    [url=http://www.boxingby.com/images/31searchk.php?/fastest-way-to-lose-wieght-meizitang-on-sale-online.html]fastest way to lose wieght-meizitang-on sale online[/url]
    fastest way to lose wieght-meizitang-on sale online

  6. Why Not Look Here
    [url=http://mensbootsoutlet.com]mens ugg slippers[/url]
    mens ugg slippers

  7. I’ve been surfing online more than 3 hours today, yet I never found any interesting article like yours.
    It’s pretty worth enough for me. Personally, if all web owners and bloggers made good content as
    you did, the internet will be much more useful than ever before.|
    I could not refrain from commenting. Exceptionally well written!|
    I’ll right away grab your rss feed as I can’t in finding your email subscription hyperlink or newsletter
    service. Do you have any? Kindly let me know so that I may subscribe.
    Thanks.|
    It is the best time to make some plans for the
    future and it’s time to be happy. I have read this post and
    if I could I want to suggest you few interesting things
    or suggestions. Maybe you could write next articles referring to this article.

    I desire to read more things about it!|
    It is perfect time to make some plans for the
    future and it’s time to be happy. I’ve learn this put up and if I may I desire to suggest you some
    interesting things or advice. Perhaps you can write subsequent articles referring to this article.
    I want to read more things approximately it!|
    I’ve been browsing on-line greater than three hours today, but I never found any fascinating article
    like yours. It’s beautiful worth sufficient for me.

    In my view, if all website owners and bloggers made
    excellent content as you did, the net might be a lot more useful than ever before.|
    Ahaa, its pleasant conversation regarding this piece of writing at this place at this
    weblog, I have read all that, so at this time
    me also commenting here.|
    I am sure this paragraph has touched all the internet people,
    its really really pleasant article on building
    up new web site.|
    Wow, this article is fastidious, my sister is analyzing such things, therefore I am going to convey her.|
    Saved as a favorite, I really like your web site!|
    Way cool! Some very valid points! I appreciate you writing this
    write-up and the rest of the site is extremely
    good.|
    Hi, I do believe this is a great site. I stumbledupon it
    ;) I am going to return once again since I
    bookmarked it. Money and freedom is the best way to change, may
    you be rich and continue to guide others.|
    Woah! I’m really loving the template/theme of
    this site. It’s simple, yet effective. A lot of times it’s difficult
    to get that “perfect balance” between user friendliness and visual appeal.
    I must say you have done a amazing job with this.
    Additionally, the blog loads extremely fast for me on Internet explorer.

    Excellent Blog!|
    These are in fact enormous ideas in regarding blogging.

    You have touched some fastidious things here. Any
    way keep up wrinting.|
    I love what you guys are up too. Such clever work and coverage!
    Keep up the very good works guys I’ve added you guys to my personal blogroll.|
    Howdy! Someone in my Facebook group shared this website with us so I came
    to give it a look. I’m definitely loving the information.
    I’m bookmarking and will be tweeting this to my
    followers! Excellent blog and superb design and style.|
    I like what you guys are usually up too. Such clever work and exposure!
    Keep up the great works guys I’ve included you guys to my personal blogroll.|
    Hi there would you mind sharing which blog platform you’re using?
    I’m going to start my own blog soon but I’m having a hard time deciding between
    BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is
    because your design and style seems different then most blogs and I’m looking
    for something completely unique. P.S Sorry for being off-topic but I
    had to ask!|
    Hey would you mind letting me know which webhost you’re working
    with? I’ve loaded your blog in 3 completely different web browsers and I must say this blog loads a lot
    quicker then most. Can you recommend a good hosting provider at a honest
    price? Thanks a lot, I appreciate it!|
    I love it when individuals come together and share views.
    Great blog, stick with it!|
    Thank you for the good writeup. It in fact was a amusement
    account it. Look advanced to more added agreeable from you!
    By the way, how could we communicate?|
    Howdy just wanted to give you a quick heads up. The text
    in your post seem to be running off the screen in Firefox.
    I’m not sure if this is a format issue or something to do with internet browser compatibility but I thought I’d post to let you
    know. The layout look great though! Hope you get the problem resolved soon.

    Many thanks|
    This is a topic that’s near to my heart… Take
    care! Exactly where are your contact details though?|
    It’s very straightforward to find out any matter on net as compared to books, as I
    found this paragraph at this site.|
    Does your website have a contact page? I’m having a tough
    time locating it but, I’d like to shoot you an
    email. I’ve got some suggestions for your
    blog you might be interested in hearing. Either way, great website and I look forward
    to seeing it develop over time.|
    Hello! I’ve been following your site for a while now and finally
    got the courage to go ahead and give you a shout out from Huffman Texas!
    Just wanted to mention keep up the fantastic job!|
    Greetings from California! I’m bored at work so
    I decided to check out your site on my iphone during lunch
    break. I enjoy the information you present here and can’t wait
    to take a look when I get home. I’m surprised at
    how fast your blog loaded on my mobile ..

    I’m not even using WIFI, just 3G .. Anyways, superb site!|
    Its like you read my mind! You appear to grasp so much about this, such as you wrote the book in
    it or something. I think that you just could do with some percent to power the
    message house a little bit, however instead of that, that
    is wonderful blog. A great read. I’ll definitely be back.|
    I visited several websites except the audio feature for audio songs present at this web
    site is actually wonderful.|
    Hi there, i read your blog from time to time and i own a similar one and i was just wondering if you get a lot of
    spam responses? If so how do you stop it, any plugin or anything you can suggest?
    I get so much lately it’s driving me insane so any help is very much appreciated.|
    Greetings! Very useful advice in this particular post! It is the little changes that will make the largest changes.
    Thanks a lot for sharing!|
    I seriously love your blog.. Great colors & theme. Did you create this website yourself?
    Please reply back as I’m looking to create my very own blog and want to learn where you
    got this from or what the theme is called. Cheers!|
    Hello there! This article could not be written any better!
    Reading through this article reminds me of
    my previous roommate! He always kept preaching about this.
    I will send this post to him. Fairly certain he will have a great read.
    Thank you for sharing!|
    Wow! This blog looks just like my old one!
    It’s on a totally different topic but it has pretty much
    the same layout and design. Great choice of colors!|
    There is certainly a great deal to find out about this issue.
    I really like all the points you’ve made.|
    You made some really good points there. I checked on the internet for more information
    about the issue and found most individuals will go along
    with your views on this website.|
    Hi there, I check your blog on a regular basis.

    Your writing style is awesome, keep doing what you’re doing!|
    I simply couldn’t go away your site prior to suggesting that
    I really enjoyed the usual info an individual provide to your guests?
    Is going to be again regularly in order to investigate cross-check new posts|
    I needed to thank you for this wonderful read!! I definitely enjoyed every little bit
    of it. I’ve got you saved as a favorite to check out new stuff you post…|
    What’s up, just wanted to say, I enjoyed this blog post.
    It was inspiring. Keep on posting!|
    I drop a leave a response when I like a article on a site
    or if I have something to add to the conversation. Usually it’s a result
    of the sincerness communicated in the post I read. And after this post J2EE Development
    without EJB (3) – Architecture Toby’s Epril. I was actually moved
    enough to post a thought ;) I actually do have a couple of questions for you
    if it’s okay. Could it be only me or does it appear like a few of these responses appear like they are written by brain dead visitors?

    :-P And, if you are writing at additional places, I’d
    like to follow you. Could you make a list the complete
    urls of all your shared pages like your linkedin profile, Facebook page or
    twitter feed?|
    Hello, I enjoy reading through your article post. I wanted
    to write a little comment to support you.|
    I every time spent my half an hour to read this webpage’s
    posts every day along with a cup of coffee.|
    I constantly emailed this web site post page to all my associates, because if like to read it next my
    contacts will too.|
    My coder is trying to persuade me to move to .net from PHP.
    I have always disliked the idea because of the costs.

    But he’s tryiong none the less. I’ve been using Movable-type on a number of websites for
    about a year and am anxious about switching to another platform.
    I have heard very good things about blogengine.net.

    Is there a way I can import all my wordpress content into it?
    Any kind of help would be really appreciated!|
    Howdy! I could have sworn I’ve been to this site before but after browsing through a few
    of the articles I realized it’s new to me.
    Anyways, I’m certainly delighted I found it and I’ll be bookmarking it and checking back often!|
    Terrific article! That is the type of info that should be shared across the web.
    Disgrace on the seek engines for not positioning this put up higher!

    Come on over and discuss with my web site . Thank you =)|
    Heya i’m for the first time here. I came across this
    board and I find It truly useful & it helped me out much. I hope to give something back
    and aid others like you aided me.|
    Hello, I believe your site might be having browser compatibility issues.
    When I take a look at your site in Safari, it
    looks fine however when opening in I.E., it has some overlapping issues.
    I just wanted to provide you with a quick heads up!
    Other than that, great blog!|
    Somebody essentially lend a hand to make severely articles I might state.
    This is the first time I frequented your web page and to this point?

    I amazed with the analysis you made to make this actual submit incredible.
    Fantastic activity!|
    Heya i’m for the primary time here. I came across this board and I
    in finding It really useful & it helped me out a lot.
    I am hoping to present something again and aid others like
    you helped me.|
    Hi there! I just want to offer you a big thumbs up for your excellent information you have right
    here on this post. I am coming back to your website
    for more soon.|
    I every time used to study piece of writing in news
    papers but now as I am a user of net thus from
    now I am using net for articles or reviews,
    thanks to web.|
    Your means of explaining the whole thing in this post is in
    fact fastidious, all be able to easily be aware of it, Thanks a lot.|
    Hi there, I found your website via Google while looking for
    a similar matter, your website got here up, it appears great.
    I’ve bookmarked it in my google bookmarks.
    Hi there, simply was alert to your weblog thru Google, and located that it’s truly informative.
    I am going to be careful for brussels. I will be grateful if
    you continue this in future. Lots of folks will be benefited out of your writing.
    Cheers!|
    I am curious to find out what blog system you’re working with?
    I’m having some minor security problems with my latest site and I would like to find something more secure.

    Do you have any solutions?|
    I’m really impressed with your writing skills as well as with the layout on your weblog.
    Is this a paid theme or did you modify it yourself? Anyway keep up the excellent
    quality writing, it’s rare to see a nice blog like this one these days.|
    I’m extremely inspired together with your writing talents as neatly as with the structure on
    your weblog. Is this a paid theme or did you modify it your self?
    Either way stay up the nice high quality writing, it’s rare to
    peer a great blog like this one today..|
    Hello, Neat post. There is an issue together with your web site in web explorer, might check this?
    IE nonetheless is the market leader and
    a big component to other folks will leave out your wonderful writing because of this problem.|
    I’m not sure where you’re getting your info, but great topic.
    I needs to spend some time learning more or understanding more.
    Thanks for fantastic information I was looking for this info for
    my mission.|
    Hi, i think that i saw you visited my website so i came to
    “return the favor”.I’m attempting to find things to improve my site!I suppose its ok
    to use some of your ideas
    \

  8. 45rXQq This very blog is really awesome and also factual. I have chosen many handy stuff out of this source. I ad love to go back again and again. Thanks!

  9. I see something really special in this web site.

  10. Well I truly liked studying it. This information procured by you is very helpful for correct planning.

  11. Thanks-a-mundo for the post.Much thanks again. Want more.

  12. Wow, amazing blog structure! How lengthy have you ever been blogging for? you make blogging look easy. The whole look of your web site is excellent, as well as the content!

  13. Thanks so much for the post.Really thank you! Great.

  14. I wanted to send you the bit of remark just to say thank you once again regarding the exceptional suggestions you’ve contributed in this case. It has been certainly extremely generous of you to grant without restraint precisely what a number of people would’ve advertised for an ebook to earn some dough for themselves, precisely considering that you might well have done it in the event you desired. Those creative ideas likewise worked to become fantastic way to understand that some people have a similar zeal similar to my personal own to know a whole lot more when considering this matter. I am certain there are numerous more pleasant periods up front for people who examine your site.

  15. I simply had to appreciate you yet again. I’m not certain the things I would’ve made to happen without the actual opinions documented by you on such area. It had been a very depressing matter in my view, nevertheless being able to see your specialized technique you treated it took me to jump for happiness. I am happy for the assistance and in addition hope you find out what a powerful job that you are carrying out teaching some other people with the aid of a site. I know that you have never got to know all of us.

  16. Thanks so much for providing individuals with remarkably remarkable opportunity to check tips from here. It can be so great and as well , full of a great time for me and my office co-workers to search your site particularly 3 times in one week to learn the newest things you have. And definitely, we’re at all times impressed for the staggering tricks served by you. Certain 4 ideas in this posting are surely the very best we have had.

  17. I have to express my thanks to this writer for bailing me out of this type of issue. After exploring throughout the the web and coming across opinions that were not helpful, I figured my life was well over. Existing without the solutions to the difficulties you’ve sorted out by means of this short article is a serious case, and ones that would have badly affected my entire career if I hadn’t encountered your site. Your own talents and kindness in handling all the details was crucial. I am not sure what I would have done if I hadn’t encountered such a subject like this. I can also at this time relish my future. Thanks very much for this high quality and effective guide. I will not hesitate to propose your blog post to anyone who desires guidance on this issue.

  18. I am also writing to make you be aware of what a superb discovery my child went through using the blog. She figured out a wide variety of pieces, with the inclusion of what it is like to possess an incredible teaching mindset to get other people without hassle master certain specialized subject areas. You undoubtedly did more than visitors’ desires. Thank you for producing such warm and helpful, safe, educational and as well as cool tips about this topic to Tanya.

  19. I want to express my thanks to the writer for rescuing me from this particular dilemma. Because of exploring throughout the world wide web and getting notions which are not pleasant, I figured my entire life was gone. Existing without the presence of solutions to the difficulties you’ve resolved all through your main article content is a serious case, and the kind which may have in a negative way affected my career if I had not discovered your blog. Your own personal capability and kindness in taking care of the whole lot was helpful. I am not sure what I would’ve done if I hadn’t encountered such a step like this. I am able to now relish my future. Thanks a lot very much for your professional and sensible guide. I won’t be reluctant to recommend your web blog to anybody who requires assistance on this area.

  20. I have to show appreciation to you just for rescuing me from this condition. Just after browsing through the world wide web and meeting tips that were not helpful, I thought my life was done. Being alive without the presence of approaches to the issues you’ve solved all through your entire guideline is a crucial case, as well as the kind which might have in a wrong way affected my career if I hadn’t noticed your blog post. Your primary mastery and kindness in dealing with the whole lot was important. I don’t know what I would have done if I had not come across such a thing like this. I can also now look ahead to my future. Thanks so much for this high quality and result oriented guide. I will not be reluctant to recommend your web page to anybody who desires guidelines about this issue.

  21. I want to express my love for your kind-heartedness for men who actually need assistance with this important area. Your special commitment to getting the message across turned out to be exceedingly beneficial and has consistently made somebody just like me to arrive at their desired goals. This helpful advice indicates much a person like me and somewhat more to my office colleagues. Thanks a lot; from each one of us.

  22. Hey There. I discovered your blog the usage of msn. This is a
    really well written article. I will be sure to bookmark it and come back to read more of your helpful info.

    Thank you for the post. I’ll definitely comeback.

  23. I was recommended this website by my cousin. I am not sure whether this post is written by him as nobody else know
    such detailed about my problem. You are amazing!
    Thanks!

  24. I truly wanted to compose a quick message in order to say thanks to you for the wonderful hints you are sharing on this site. My time-consuming internet research has now been recognized with extremely good strategies to go over with my family and friends. I would state that that most of us readers actually are very much lucky to dwell in a wonderful community with many outstanding professionals with very beneficial secrets. I feel pretty blessed to have come across your web page and look forward to really more amazing minutes reading here. Thanks a lot again for a lot of things.

  25. I absolutely love your blog and find many of your post’s to be what precisely I’m looking for.
    Do you offer guest writers to write content to suit your needs?
    I wouldn’t mind creating a post or elaborating on most
    of the subjects you write in relation to here. Again, awesome blog!

  26. oiblbcyhkp,Waw! Its really great and wonderful ever i found. Thank you for sharing this info.I LOve your Blog!

  27. I precisely wished to appreciate you all over again. I am not sure the things I would’ve used in the absence of the actual ideas shown by you on that area of interest. It became the terrifying situation in my opinion, but understanding a new skilled way you dealt with it forced me to weep with delight. I’m grateful for your advice and then pray you are aware of a great job you are always accomplishing teaching other individuals through the use of a web site. I’m certain you haven’t got to know any of us.

  28. Short Haircuts Models, There’s no going back once you commit to the short hairstyle so how are you. Celebrity inspired short haircuts and hairstyles to try. https://shorthaircutsmodels.com/ Our short hairstyles and short haircuts to inspire your next salon. Top model Maria Borges stunned in this sleek straight crop at the. From to Moss see the models who have made a career statement with short hair. The model approved haircuts were made for standing out. Check out our edit of the best celeb hairstyles for short hair for all the. Seriously short and peroxide blonde looks epic on model. These are the best short haircuts for men to get in 2019. We cover all types of fade haircuts crop haircuts classic short haircuts for men and cool quiff haircuts.

  29. I simply wanted to say thanks once more. I am not sure what I might have made to happen in the absence of the entire pointers documented by you over this industry. It seemed to be an absolute fearsome setting for me, however , witnessing this well-written way you solved the issue made me to leap over contentment. Now i am grateful for this help and then believe you realize what a great job you’re getting into educating people through your blog post. I am sure you have never come across any of us.

  30. Short Haircuts Models, There’s no going back once you commit to the short hairstyle so how are you. Celebrity inspired short haircuts and hairstyles to try. https://shorthaircutsmodels.com/ Our short hairstyles and short haircuts to inspire your next salon. Top model Maria Borges stunned in this sleek straight crop at the. From to Moss see the models who have made a career statement with short hair. The model approved haircuts were made for standing out. Check out our edit of the best celeb hairstyles for short hair for all the. Seriously short and peroxide blonde looks epic on model. These are the best short haircuts for men to get in 2019. We cover all types of fade haircuts crop haircuts classic short haircuts for men and cool quiff haircuts.

  31. I simply had to appreciate you again. I am not sure the things I would have created without the type of creative ideas shared by you directly on such a field. Entirely was a horrifying circumstance for me, but seeing this skilled technique you handled that forced me to cry with joy. I will be grateful for your advice and then hope you are aware of a powerful job you have been accomplishing educating most people by way of a web site. I am sure you haven’t met any of us.

  32. yuoyeoj,This website truly has alll of the information and facts I wanted about this subject and didn’t know who to ask.

  33. I needed to write you that little observation to be able to say thanks once again for these magnificent ideas you’ve contributed in this case. It was certainly generous of you to grant unhampered what many of us would’ve advertised for an e-book in order to make some money for themselves, certainly seeing that you might well have tried it in case you wanted. The pointers additionally acted as a fantastic way to know that someone else have the same eagerness really like my personal own to learn whole lot more concerning this issue. I think there are numerous more fun instances in the future for individuals who examine your website.

  34. I actually wanted to write down a small remark in order to say thanks to you for these wonderful pointers you are writing at this website. My long internet look up has at the end been recognized with brilliant ideas to share with my neighbours. I would state that that we visitors are rather lucky to dwell in a notable site with so many wonderful individuals with helpful tactics. I feel quite fortunate to have encountered your entire webpage and look forward to really more pleasurable moments reading here. Thanks again for everything.

  35. I, studying this materiаl, οnly prefer wksh
    site owner upl᧐ad
    a little mⲟre
    exciting tips
    !!! Perhaps , yoᥙ can write
    next materials , relɑted to
    this great article
    ) I want read more
    useful in this
    direction )

  36. Do you have a spam problem on this blog; I also am a
    blogger, and I was wanting to know your situation; we have developed
    some nice procedures and we are looking to exchange methods with
    other folks, be sure to shoot me an e-mail if interested.

  37. Hey very nice blog!

  38. Hurrah, that’s what I was searching for, what a material!
    present here at this blog, thanks admin of this web site.

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2017 Toby's Epril Suffusion theme by Sayontan Sinha