The EGL Market Place: Product Management

13 Posts
2

Updates from RSC 2009

Posted by will.smythe Jun 5, 2009

Hey everyone - what a great week this was for EGL! As you probably know, we made a big announcement at RSC (a community edition of EGL is coming later this summer). You can read more about it here - EGL Community Edition FAQ.

There were quite a few activities related to EGL and Rational Business Developer at the conference this year. On Sunday morning we had an invite-only session with customers and partners. The purpose was to get feedback on what we're working on and our plans. Of course, we got feedback about things we can do to improve the product as well. One of the main things we discussed was our goals for 2009 and our focus areas:

  • performance analysis/improvements
  • language compliance testing
  • more real-world testing with customer applications, and
  • improvements in SOA support

The general consensus was that these are the right areas to focus on. Let me know if you do or don't agree!

Tuesday was one of the biggest days for EGL at the conference. During the opening keynote session (attended by thousands) the director of Rational marketing talked about the RSC Scheduler created by Chris Laffra and Kapow Technologies! As with last year, the scheduler was a big hit with conference participants (I am sure Chris will brag, err, blog about this sometime in the near future)! We also had the EGL Rich UI session on Tuesday (EM08 was the session number if you want to search for the slides when they are posted). We had close to 50 people attend (which is great!). Lots of good questions and discussions. We also had a birds-of-a-feature session on Tuesday night. At this session we talked more about our announcement and also demo'ed an early version of EGL Free. The reaction was positive - people liked some of the new things we've done (like simplifying the new project wizard and the project structure).

Besides the formal and informal sessions, we also had good one-on-one conversations throughout the week. Chris manned the Rational Labs ped where we demo'ed EGL and showed the cool things you can do with it. Theresa manned the Users First Lounge. We also had a few panel discussions that featured IBMers and some of our partners.

So, overall a great week for EGL! Everyone that loves EGL should be happy to know that there is a lot of excitement in IBM and the EGL community about the technology and where it's going!

Take care,
Will

2 Comments Permalink
0

Hello from RSC in Orlando!

Posted by will.smythe May 30, 2009

The Rational Software Conference (RSC) starts tomorrow in Orlando. What a fun (and long) week this is going to be! This will be my second RSC, but first as product manager for EGL. RSC is easily the biggest conference of the year for us - everyone has been working hard to get ready (even with months of planning, the week before is complete chaos).

The guys from MythBusters will be here later in the week - should be entertaining (assuming they blow something up)! There's no way they can be as good as last years featured celebrity (William Shatner). He talked about how making software is like making a movie - except that people making movies are a lot better looking and make a lot more money :)

Btw, check back on Monday to learn more about the big EGL announcement being made at RSC.

I'll be blogging from RSC all week, so even if you didn't make the trip down, you can stay up-to-date.

Out for now.

0 Comments Permalink
0

EGL at RSC 2009!

Posted by will.smythe Apr 27, 2009

Don't miss out!

There will be a number of sessions, labs, demonstrations, panel discussions on EGL at the Rational Software Conference (RSC) 2009 in Orlando starting May 31.

Register today!

http://www-01.ibm.com/software/rational/rsdc/img/RSDC09_530x150-webbanner_V1a.jpg

See the attached documents for IBM i and System z-specific sessions for all Rational Enterprise Modernization solutions.

0 Comments Permalink
2

On Tuesday, IBM released Rational Business Developer (RBD) 7.5.1. RBD 7.5.1 delivers many new capabilities, including EGL Rich UI, which simplifies the delivery of rich Web 2.0 applications.

New features in version 7.5.1:

  • EGL Rich UI - enables simplified development, testing, and debugging of Web 2.0 style applications. Features include:
    • Editor for visually constructing Rich UI applications, including a palette that contains available widgets, an outline view that shows hierarchy of widgets, and a properties view to enable quick editing of widget settings
    • Rich out-of-the-box widget library, including data table, calendar, and basic data entry widgets
    • Extensibility to support other third-party widget libraries such as Dojo Dijit and Yahoo UI
    • REST and SOAP Web service support
    • Support for back/forward and history within rich UI application
    • Publish/subscribe mechanism that enables simplified messaging between UI components
    • Decimal support
  • z/VSE platform support - enables generation of COBOL capable of running on the z/VSE platform.
  • Support for calling SQL stored procedures - includes new keyword to support the calling of SQL stored procedures from within EGL-generated COBOL.
  • Support EXCI interface in z/OS® batch programs - enables calling of CICS transactions from batch programs on z/OS
  • Support for CICS Channels and Containers
    • Enables EGL applications generated as COBOL running on CICS Transaction Server V3. (CICS TS V3.2) or higher to support new channels and containers feature which enables the passing larger amounts of data between programs running within CICS.
    • Enables EGL applications generated as Java and running on distributed servers to utilize the CICS Channel and Container support to pass more than 32K of data to and from a remote CICS region. This requires both CICS TS V3.2 or higher and CICS Transaction Gateway V7.1 or higher.

Other recent features:

  • Ability to shell-share with other Eclipse 3.4-based Rational tools, including Rational Developer for System z 7.5 and Rational Developer for i for SOA Construction
  • Support for deployment to WebSphere Application Server 7.0 and WebSphere Portal 6.1.

For more information, visit the announcement on the EGL Cafe overview page. rui_thumbnails.png

2 Comments Permalink
9

Earlier today, IBM announced Rational Business Developer (RBD) 7.5. RBD 7.5 is built on Eclipse 3.4 and provides support for deployment to WebSphere Application Server 7.0 and WebSphere Portal 6.1. IBM also announced plans for providing support for building rich, Web 2.0-style applications using EGL. With EGL Rich UI, you have the ability to build truly rich internet applications (RIAs) completely in EGL, without needing to learn the complexities of Ajax, JavaScript, REST, SOAP, etc.

To read the full announcement, click here

(Correction: the planned availability date is October 17, 2008)

Stayed tuned to the cafe for more details and announcements ...

9 Comments Permalink
0


Green IT is all about the IT community being socially responsible with regards to their infrastructure and the applications contained therein.

So you might ask? Is this really important in this pressurized world of hi expectations, and more and more rapid changing business models and faster deliveries.

I believe it is. Green IT can and should be one of the guiding tenants of organizations. We, as both IT professionals and members of a broader global community need to act responsibly with regards to the environment. And just as good. By acting responsibly towards the environment we also can help our organizations meet their goals more effectively.

You might wonder if the business of software really uses environmental resources? Many of us would view that software already limits the environmental impact of business. For example, by teleconferencing instead of travel which uses fossil fuels as an example.

But there is much more we can do

How can we all participate in Green IT?. I'll start with a few examples below:

1. Understand how the hardware your applications run on consume power. The box consumption itself, but also the consumption of the supporting infrastructure around that box and the power usage for that support. For example, the space that the hardware takes up, air conditioning, power the people who support that box use, power the underlying applications and backups, restores, monitoring etc., uses.

2. Build more information into your applications. For example, if more information can be presented with "same" or less file IO's, and other usage of the CPU, we save.

3. Use efficient operating systems and languages. When the running code does more efficent and less processing, the application is more energy efficient. For example, look to use compiled / tuned languages and highly effecient transaction processors. Look for those that do more with less code - both code you write and executables you run.

4. Make performance analysis a critical milestone in your delivery cycles.

5. Reuse code and processing when you can. Less duplication equates to less resources.

6. Make Green a a part of your corporate and IT vision statements. Also make Green a part of requirements review, application design, and maintenance change reviews.

7. Evaluate collaboration possibilities - and software - to improve efficiencies. Less travel, conference calls, etc. can not only help us save but also can make us more productive in focusing us on what we really do. Delivering code that can add profit and cut costs..

8. In the end, write more applications that at least in part can save more of the resources the rest of your companies use. This ultimately might be the biggest impact you can make.

At the end of the day, we all win.


0 Comments Permalink
0

I’m an IT guy. I love this stuff. Sometimes drives my wife crazy. Interesting enough she also has a B.S. in Computer Science. Although mine is from Iowa State – nice school middle of a cornfield, hers is from Central Michigan – also nice school in middle of the hand. (Not so inside joke if you’re from Michigan). You know where I work – she has the harder job – taking care of our kids now – and much lower pay.

Anyway, on to the topic.

This is the time of year I love. When we begin to look at next year. I’d like to share some industry trends that I find key to 2009 and beyond:

Web 2.0, RUI and Rich Internet Applications. Enough said on this subject. But WOW - technologies always get my blood pumping. This is it. Everyone in IT should be getting on the train. Providing better access of information and our products - to our internal and external customers and prospects. One word, COOL.

Simplification and Dynamic Languages. Making things easier. Technology drives much of the world – but it just plain needs to be easier to both create and consume. No developer should think that creating web forms, running business logic, and accessing information should be difficult. What is difficult should be the art of creating something that is easy, valuable, and meets the need. Not the underpinnings of the technology. In context of languages, Forrester calls the drive to simplification Dynamic Languages. Languages that are easier that let developers do more.

SOA. It’s mainstream now. And it’s transforming how IT approaches application development and maintenance. And reuse – especially of existing assets is a great thing. Too much money being spent to rewrite, rehost, replatform, or redo with very questionable corporate value or ROI.

Business Rules. Categorizing business processing; identifying processing in code – and delivering processing through rules engines. A repository that codifies the business. This is a no brainer to me. Electronically, I should be pointed to key business processing as I’m working with an application. A key facilitator of SOA. Love the ILOG announcement.

Agile Development. We’re all over that here. And it’s proving to provide better deliveries - through better understanding of working new application components and how they fit with other components – much earlier in the cycle. It’s also improving how teams function and interact. As we’ve all known – team productivity can be a bigger issue than individual productivity. One superstar can’t make much difference without an executing supporting cast.

Model Driven Development. Using pictures to define and understand processing, gain agreement, then generating code - from those pictures - is certainly a good thing. But we need to make even more consumable and useful in the real world. And extend our processes to tie business models to application models to business rules to code (not necessarily only in that order).

Cost Management and the tie to Green initiatives. I know. Cost management sounds boring. And what does IT have to do with Green? Well think about it. If we take up less building space, require less infrastructure, use less power, we save resources – and money. By lowering costs in other areas, IT can be more responsive by reallocating some costs to even more revenue producing initiatives.

More entrepreneurship and growth of IT influence in the business. This is the most important. Profit is king. Try things that generate profit. Fail or succeed. Learn. Try some more. Bring more excitement to and focus on IT.

In closing – my view is that IT will need to focus on these key areas in 2009 to be successful. Some are lower level, some higher – but I think all will need coverage. I’d recommend you assign owners to each – some can be shared. I look forward to delivering technology next year to you that can help in all these areas.

0 Comments Permalink
0

Absolutely.

Might be good to start with some background.

What is web 2.0 and Rich User Interfaces? What is JSF and Web 1.0?

Web 2.0 applications are focused around leveraging the web to create new markets, lower competitive barriers, encouraging creativity, tapping and growing wisdom, and making information more impactful. RUI's are richer ways to process, deliver, and enable or facilitate understanding of larger complex pieces of information.

The results to business. Greater innovation from the usage of information and applications ultimately leads to more business.

What is Web 1.0 and JSF? We'll Web 1.0 was about much of what Web 2.0 is about - but with a 5 year old programming model with very limited user interface and light linkages to outside content. And virtually no community interaction. Only one consisting of common access.

JSF is an open programming framework and runtime for Web 1.

Which model is best?

Web 2.0 and RUI. Hands down.

Why?

From the user perspective, lots better ways to display, organize, and process information.

From the developer perspective, lots less "framework" and rules overhead. Lots more flexibility and power. Less Java ties and technical requirements to sit on top of, heavyweight frameworks, etc.

Is Web 2.0 better for everything? My view yes. But I always doubt people who speak in absolutes.

So, here's my take on answering the question, When is Web 1.0 and JSF Better?

Not often. But for standard web applications with light information consumability requirements, it's proven to work well. When you're on old workstations, old browsers, not a lot of browser processing power; also for simplistic internal applications. (although I don't think JSF is better - it just could be not as bad).

0 Comments Permalink
0


The stock market is down, COBOL caused it. Gasoline prices are up, COBOL caused it. Businesses and governments are not responsive? COBOL caused it.

See the attached link referring to the State of California? Titled: "California can't perform pay cut because of COBOL"; according to their Governor; http://developers.slashdot.org/article.pl?no_d2=1&sid=08/08/05/1816206

And over the last few years I've seen many more of a similar bent. Basically COBOL applications, developers, and infrastructures are the root cause of IT not meeting it's business requirements.

Are our business leaders, IT leaders, governmental leaders and publications - when discussing languages - out of their collective minds?

So some facts.

There are 2 Billion lines of COBOL code running worldwide large corporate businesses. There are 1.5 Million COBOL developers doing business development. Both according to Gartner Group. That's the positive.

Much of the COBOL business processing is delivered in older less changeable architectures of the past. That's the negative.

One person's conclusion. COBOL is a good business language. And COBOL developers are generally good resources. But at the end of the day - as noted in my other blog entries - it's about IT delivering value. And for COBOL only applications - and COBOL only developers - that's a problem today.

COBOL will be one of many languages forward. It's easy to write, and performs really well. Great language attributes. But it won't be the key language. Nor will the architectures of COBOL's past be the key ones either. COBOL is not great at Rich User Interfaces, and providing the front end of Web and Web 2.0 architectures - which will drive most design and development efforts. COBOL as a language is and continues to be relevant for business processing. So for delivering back end services in a service oriented architecture, it will be a key language. It's also unparalleled in batch processing which will continue to provide back end support for web applications. And many customers want to share transactional and batch processing as well.

I also believe COBOL as a runtime should be viewed independently from COBOL as a language. EGL can let us take advantage of the runtime positives of COBOL like high throughput, very fast access to data, and strong transactional processing in CICS, IMS, and other transaction managers. And EGL can also be used for the UI and front end part of the application.

People eat up lots of the IT cost structure. Reuse as well is much more important today - both due to cost of writing code as well as in meeting requirements for faster responsiveness. These modern architectures also promote reuse. No matter what the underlying language or languages.

COBOL developers will need to deliver value in new languages and infrastructures, like Web 2 and SOA, to stay relevant in overall application design activities. It's not COBOL that's the problem - it's about IT doing, or not doing, more. Blaming COBOL is ridiculous. Blaming those who hinder the endgame; won't change processes; won't get with the new economic realities on how we need to perform; is also probably not going to be productive. My message. For the COBOL developers - learn Web 2.0, do Web 2.0, make your mark. You're companies will do better with their revenues, you'll do better in your careers, and I won't have to read the any more nonsense about COBOL

0 Comments Permalink
0

This seems to me to be one of the most fundamental, yet simple to understand issue that plagues IT today.

A ? that is tightly coupled with this is - Is IT going to be primarily viewed as an expense or as a revenue producer?

My view on this is pretty simple.

To deliver more value, IT organizations need to deliver more revenue producing applications faster. More processing, less time to market. Like I said - simple.

The average US worker improves productivity between 3 and 6 percent a year. Therefore every year - just off the top - IT developers need to deliver between 3 and 6 percent more value. Note, that's keeping pace with the economy - not creating any competitive advantage. How do we determine this improvement? One way to quantify what developers deliver is in lines of code, a second way to determine that is in business functions or key processes delivered. A third way is to measure profit of deliveries. The first is relatively easy to track; the second is harder but is certainly a more valuable indication, the third is of course the best way.

So who is the key to delivering value? Well, a sports team is in the business of scoring points, an IT organization is in the business of delivering processing. The skilled positions vary, but a key, maybe the key skilled position is the developer. They are the one doing the innovation and the creator of the new business functions or processing.

So then, how do developers do more? Strong tools enabling them to improve productivity, easier to implement architectures that deliver power and remove or hide complexity, and simple to learn, understand and write languages. That's it.

Yesterday I asked Tim Wilson, another blogger and the lead architect on EGL, how much productivity improvement can you get with EGL over other 3GL's like Java, COBOL, etc.? His answer was 10x. He's bold, but I believe him. My message to you is not too. Probably surprised you with that one. My other message to you is don't ignore his view. In other words, evaluate us, and most importantly, try it. The potential is worth the effort. And we want to work with you to make it even better.

My suggestion is this. As developers, look at delivering significant game changing impact to your organization. Leverage the new technologies that focus on that. Prove you can do it. In other words change the game.

At the end of the day, the more people that can innovate and do development, the better off your respective businesses and IT as an overall industry will be.

0 Comments Permalink
0

As programmers, new technology is always interesting. But for most of us - when that technology surfaces in a usable programming model - is when it becomes real.

The Web 2 programming model is fundamentally different than the Web or ICCS programming models of the past.

The Web programming model revolved around designing a group of forms that in some way map to our desired business process. In many ways the information processed on each form was sequential; start here - do this - end here. As well, we were reasonably limited by what could fit on available real estate.

As a result, A user entered a request (form or URL), our application processes it, builds the next form, sent it, waited for a response, then built the next form sent it ... and on and on. After each request and before each response the user waits. 1 second, 5 seconds, 1 minute, etc. The traditional Web programming model is like this - and fancy enough - the traditional CICS programming model, albeit "green screen" driven, was also identical to this.

Things have changed. Users don't want to spend their time hitting buttons or function keys to move from form to form. And they don't want to wait. They do want to do more. They want to process more information now - the more information - the better the decision making process - and the more productive and ultimately revenue driven the user can be.

The Web 2 programming model is based on AJAX. Asynchronous JavaScript and XML.

We still do requests and responses. But now the requests and responses can happen in an asynchronous manner. Only part, not all of the form waits for the response from the server. The user can go to other pages, other parts of the current page, even move on to other URL's.

Even better yet, as well the entire page - as in a traditional web application - doesn't have to reload and redraw.

And a side advantage - our back end servers aren't spending all their time serving up HTML web pages. They still do that on occasion. But the requests for information result in responses in XML. The web page doesn't have to be resent unless the application requires it.

And a second side advantage - the new programming model is easier. Developers need not be constrained by always having to manage the sequential form flows discussed above.

And yes, you can still create whole pages - that wait for responses - if that's what you like. But you'll still use the Web 2 model rather than the legacy Web model discussed above.

Wait, did I just use legacy and Web in the same sentence. Yes, any fundamental change has the potential to make the past legacy. I think this is a good thing. It means we're still being innovative and continue to evolve. And someday the Web 2 model will be legacy too. But the good news. The older Web model still works, is being developed - and isn't going away anytime soon, as the older CICS "green screen" model is still working and being developed as well. But as we've seen in the past and will continue to see into the future - there now is a better way.

0 Comments Permalink
0

This question is one of the most popular I get at IBM. It's often in the form of: Where do my new business developers, in many cases COBOL developers, come from?

I'll start with some background - beginning with: Why is this ? being asked?

Many industry forums and pundits have been saying that the COBOL community is aging. True.

As with any change - the aging and hopefully happy retirement of the COBOL developers that came on board with IT in the 70's needs to be planned for. A few best practices I've developed are as follow.

First, understand when they are retiring and what the potential scope of your problem is.

Second, document what their key responsibilities are today - and what skill sets you'll need to replace them. I'll give some of my thoughts. Some key attributes of business developers are: Great knowledge of your business, ability to churn lots of code and meet needs quickly, ability to not only do new development but understand and maintain vast libraries of legacy,

Third, define the labor pool you have to pull people in from.

Colleges. Think Information Technology, Computer Science, Engineering, and other Business majors. Contact your local college and discuss your needs with them. They may be very excited to work with an employer in the area on any custom requirements you have. As well, IBM is offering "free" education and curriculum materials to colleges for courses including many focused on the mainframe. See http://www.ibm.com/university.

Internal talent. Many organizations have technically oriented business people interested in Information Technology. Set up some courses - even night or lunch time courses - and educate them. Create a mentoring program - and the good ones - bring into IT.

Professional hires. Many, perhaps most, areas of the world have skilled resources available. There may however be geographic shortages. Take a look with your recruiters, http://monster.com, etc.

Offshoring. Another viable alternative. Works well when key sets of requirements can be fully documented - with check points often - maybe daily - on project progress. Also can work well with legacy where maintenance is reasonably controlled.

OK, now what will they do? or How do they add maximum value to your organization?

Business developers are all about adding immediate business value to a corporation's bottom line.

How? By understanding business problems and requirements, prototyping, designing and architecting, and then coding and completing processing. It's about being more responsive. A popular development paradigm you may have heard of to help developers be more responsive to the business is Agile development. Frequent interaction, delivering small discrete functional pieces of the application, getting feedback, and building to completion.

What types of applications? I firmly believe they will be Rich Web - architected to focus on the end user - with server based processing supporting business rules and data access, ultimately deployed as services in Service Oriented Architectures. Business developers will also need to deal with significant legacy processing. The best will perform well with both.

Many languages and transactional processors will participate in the movement to Rich Web. EGL, COBOL, Java, RPG and more. Languages and runtimes are about meeting specialized requirements - and will focus on supporting the back end of the application. But Web 2 is the defining architecture as it relates to the complete application - which will be driven through the front end or browser.

Perfect for the business developer community - meeting organizational requirements to do more.


0 Comments Permalink
0

EGL

Posted by connomon May 8, 2008

As a a product manager, I’m often asked “what’s new or what’s coming?”., and the simple answer is : “Change” We have all heard the quote “Change is our friend”, although in many cases I’ve not been completely sure, but it is a fact: change is a trademark of the IT industry.

I started out as an IT professional developing CICS and COBOL applications. Even at that time change was underway… we were in the midst of changing from Macro to Command level CICS programming interfaces. That change was definitely good for both customers and IT. Customers got more, IT was able to deliver more easily.

Then came the client/server revolution. Certainly customers got beter ways to view and process - but it was unclear if IT was able to do more. I don’t think I would ever say that C and the Windows programming model and API’s were easy.

With the advent of the Web, it certainly was clear to me that users could get more information more readily to support better business decisions and business processes: all in all customers received lots more value. Phenomenal value. But it was also pretty clear that instead of doing more, with the proliferation of technical complexity , IT could be doing less. Not because IT staff wasn’t working harder –they were – but because of the growing number of artifacts, technologies,languages, and the fact that runtimes did less and code had to do more.

To compound the problem, as complexity grew, the economic climate and business demands increased the pressure on workers, who were expected to be more and more productive. On average between 3 and 6 percent more productive according to overall worker productivity economic estimates. I think you get the picture.

Then SOA and web services emerged. Really cool stuff that enabled transaction managers and platforms to seamlessly communicate. Again, customersgetting more. Like that. But some fairly good complexity built in as well : SOAP, XML, WSDL, WS-Security, WS-Transaction, WS splat, headers, payloads, and so forth…. Left me wondering why it all just couldn’t have been implemented in a simpler fashion.

Now it’s the time of Web 2 and Rich Internet Applications. With Web 2, we’re realizing the power of the Web by exponentially increasing the power the browser can deliver to the users. We’re also getting a simpler and cleaner programming model. Client side programming and application flow stays in the client tier, facilitated by client side scripting languages. Server side programming focuses on flows and processing of business logic and data. It’s clean, and separates concerns. The architect in me likes that. And customers that have standardized on business processing in J2EE, CICS, IMS and other transaction managers can continue leverage them for back-end (heck, whoever wanted those high valued business systems to be processing User Interfaces anyway?). Now we’ve certainly got something for the users with significant value , but what about IT?

That's where EGL comes in. It’s a simple common language for the various elements of the application. Both the UI as well as enabling integration – including Web Services – and all the way to back end business and data processing. EGL provides something for IT as well, it enable developers to deliver more with less effort, simplifying innovation.

I'm often asked what EGL stands for. Originally it stood for Enterprise Generation Language. And it does generate artifacts targeted at the various runtimes in modern applications. JavaScript, Java, COBOL, and SQL to name some of what’s generated. Similar in concept to the fact that Java generates bytecode, and COBOL generates assembler.

But most importantly it’s an Easy General Language. The idea here is that a standard language across application tiers makes developers more productive. And also hedges an organization's bets that the next great platform, runtime, language is coming. Let’s see – you ever hear that said about PHP, Groovy, etc. The point here is that EGL is an Extensible Generalized Language. Support for new runtimes, languages, frameworks and technologies continue to be added as needed. To net it out EGL applications are meant to be portable between runtimes and platforms, yet not be constrained by one specific architecture.

So does the world need another language? Whole heartedly I say yes. In fact we’ll see many many more new languages and runtimes over the next 20 years. What we don’t necessarily need is for IT to have to code in them all to accomplish a single business system. Think about the change from TV to HD. You get a converter box – everything just works.

Finally, I’m asked will EGL be a standard. If a technology having a set of processes, API's, extension points managed by an open community can be considered a "standard" then the answer is absolutely! The community is this one, the EGL community. We’ll shortly be implementing a process, accessible on this site, where all members of the community will be able to participate in the development and vision of the language. So you’ve heard it here first. The current target for the establishment of this process is late 2008, after the next major release of EGL and RBD.

I encourage everyone to become an active member of this growing community, so hit the EGL café “JOIN” button and let's talk EGL!

0 Comments 0 References Permalink
Bottom Banner