Showing posts with label Adopt. Show all posts
Showing posts with label Adopt. Show all posts

Sunday, August 10, 2014

IDE: 5 most favorite NetBeans features

Development with pleasure....
NetBeans has many interesting features that make development very easy, with few steps, and makes for a very productive environment, in terms of getting your product to market very quickly.

It is very hard to limit my talking to only five features, while this IDE has tons of interesting features. But here I am going to mention my most favorite 5 features I am daily using in my development process on many platforms:

  1. It is the reference development implementation IDE:

    I am a JCP (Java Community Process), EC (Executive Committee), a JSRs (Java Specifications Request) adopter and FishCAT (Glassfish Community Acceptance Testing) contributor especially in Java, SE & EE world. While I am in early phases of testing the specifications, I need an IDE which support those technologies and made it easy to test and develop them, to report bugs, enhancements and confirms that JSRs Specs are valid against RIs, and with other JSRs on latest RI Application server like Glassfish.

    NetBeans offered all of this for us to streamline the process, with almost a nightly and weekly builds alongside JSRs RIs builds, which we use to test previously mentioned RIs betas.

    The most interesting part of the story here is when we released Java EE 7 on last Mid of June 2013; there was already NetBeans 7.4 was generally available released to fully support development of Java EE 7 technologies. And this happens also for JDK 8 when it released 18-March 2014, there was NetBeans 8.0 fully support Java SE 8.0.

  2. Android Mobile development made easy:

    NetBeans shipped with a very great support for mobile development either it was pure Android development in term of this is a Java Based IDE or Hybrid development in term of frontend technology support (HTML5, CSS3 and JavaScript).

    With a very productive plugin NBAndroid you can develop a pure Android project compatible with original ADT SDK (Android Development Toolkit) project structure, test, emulate and deploy on emulators as well as native devices at the same time. You should give it a try if you interested in mobile development.

    Create a new Project:
    Identify Properties:
    Created project:
    Runs On Android Emulator:
  3. Hybrid Mobile development support:

    Hybrid mobile development is never made easy as now in NetBeans nowadays, NetBeans introduced a hybrid mobile development based on Cordova open source mobile framework. Which is one of the most popular frameworks to develop hybrid mobile applications.

    While NetBeans gives a great and solid support for frontend engineering technologies like JavaScript, HTML5, CSS3, Frameworks like AngularJS, NodeJS, and jQuery core, mobile, and UI … etc.

    Which made it easy to develop a Hybrid based mobile applications for both Android and iOS in one shoot with few clicks. Without context-switching to other IDEs to accomplish the task.

    It has complete support for Apple iOS development toolkit and Android ADT SDK, therefore you can test your application locally for mobile web and on emulators/devices of both mobile OSs, then export final product either it was .apk binary for android or .ipa for iOS, for final deployment on Apple store or Google play store.

    Creating the project:
    Choosing template:
    Identifying project properties:
    Choosing deployment method:
    Deployed on iOS simulator:
  4. JavaScript libraries in one place:

    If you are a frontend engineer, then you got the right choice, yes this IDE is for you, I know you need to develop a modern web application, but wait this needs many JavaScript modules and libraries to do it.

    One among the very panic tasks in web development nowadays, is to search for JavaScript tools and setup your project for them, then download each JavaScript libs from different sites with there resources and support libs, in addition you have also to manage their updates to fix problems or get a new feature.

    NetBeans comes with a build in tool that allows you to get your JavaScript libraries in one shoot from the IDE directly and mange their updates from the same place.

    You will find almost all JavaScript libs you need, and you can filter your choice from the tool to pic up the right libs you need for your project, and where to put them in your project.

    As mentioned in first picture the libs were updated on Apr 26, 2014, just click and will updates all libs to today releases.

    It saves me a bunch of site visiting and worrying about updating them, and even adding new ones in future of the project.

    The JavaScript tool:
    Pickup and filter your choices:
  5. SOAP based client/Web Services in one click:

    I am working in government environment, which requires much integration between systems either directly or through a G2G (Government-to-Government) hub, each one needs a specific integration requirements.

    If it is directly, you have to define you web service annotations on interface based on your backend EJB session bean interface or separate endpoint interface to decouple your Endpoint from your façade, then generate WSDL to be consumed by others.

    Other scenarios is to go to a Top-Down approach, in developing WSDL first to be certified on G2G hub based on their standards, then generate service endpoint interface from them.

    Lately I have been asked to develop a Pension G2G WSDL definition and at the same time generate endpoint service interface to begun the testing in one week.

    I have accomplished this task in 3 days using NetBeans, it has a tremendous support for XML, XSD development, and after finishing the WSDL definition, I need to confirm a correct endpoint service creation, Before publishing service WSDLs to G2G authors.

    Okay from NetBeans I have created a Web Service from WSDL, passed the WSDL and click finish, that’s all.

    The surprise was it generates the service endpoint correctly as WSDL def. and at the same time created Service ports and client to test service in one shoot.

    All I have to do is to implements my service endpoint operations and huryaaaa finished my task.

    Adding WSDL and Identifies project attributes:
    Generated Service endpoint:

Thanks for NetBeans team for such support and made it a development with pleasure.



Monday, June 9, 2014

Speaking activities during year 2014

Here are my speaking activities, during this year of 2014, Thanks for inviting organizations, JUGs, and international conferences.

I hope to see you all in my sessions, workshop, answers your questions and added value to you.


List of places, dates, and sessions titles:

Deliver and present the following talks in many conferences world wide, as part of sharing my experiences and evangelist the technologies especially JavaEE, JSRs, adopt-a-JSR, OpenJDK, Mobile development and others.
  1. Esprit JUG 2014 - Tunis, Tunisia. On the 7th & 8th of May

    Delivers the following sessions:
    1. What is new in Java SE, EE, ME, Embedded world, & new Strategy?
    2. Drive yourself, community with JCP & adopts to professionalism.
    3. Developing Native & Hybrid Android mobile Apps, with Netbeans 8.
    4. Yeah, TRUE real time web applications, no more hacks (a hack session).
    5. Hybrid Mobile development without IDE from CLI (Workshop).

  2. JCP executive committee F2F meeting 2014 - London, UK. On the 13th & 14th of May

    Delivers the following session:
    1. United Nations UNHCR/WFP case study (JavaEE, JavaCard, JavaSE success story).

  3. JEEConf 2014 - Kiev, Ukraine. On the 23th & 24th of May

    Talks: http://jeeconf.com/program/

    Delivers the following sessions:
    1. Yeah, TRUE real time web applications, no more hacks (a hack session).
    2. Developing Native & Hybrid Android mobile Apps, with Netbeans 8.

  4. 33rd Degree 2014 - Krakow, Poland. On the 9th to 11th of June.

    Talks: http://2014.33degree.org/speaker/show/41

    Delivers the following sessions:
    1. Architecting Hybrid mobile apps with PhoneGap.
    2. JavaSE NIO.2 API features, a walkthrough (The essential Stuff).

  5. JavaOne 2014 - San Francisco, California, USA. On the 28 Sep to 2 of October 2014.

    Delivers the following sessions:
    1. United Nations UNHCR/WFP case study (JavaEE, JavaCard, JavaSE success story).

  6. JMaghreb 3.0 2014 - Casablanca, Morocco. On the 7th & 8th of November

    Delivers the following sessions:
    1. Architecting Hybrid mobile apps with PhoneGap.
    2. Top 10 Key Performance Techniques for Hybrid mobile Apps.

Sunday, June 8, 2014

JEEConf 2014, Kiev, Ukraine trip report


Very busy May.

This May 2014 was a very busy month for me, I was so busy at work but thankfully I have finished all my heavy-duty tasks and left other managed tasks to my team to finish it till my back from my international trips.

My Trips

In last May 2014, first I went to Tunis, Tunisia, speaking at Esprit JUG Day 2014 on 7th and 8th of May, delivering the following 4 sessions:
1- What is new in Java SE, EE, ME, Embedded world, & new Strategy?
2- Drive yourself, community with JCP & adopts to professionalism.
3- Developing Native & Hybrid Android mobile Apps, with Netbeans 7.4+.
4- Yeah, TRUE real time web applications, no more hacks (a hack session).
5- Hybrid Mobile development without IDE from CLI (Workshop) (Cordova framework).
My JCP EC F2F meeting

After that I have traveled to London, United Kingdom, to attend my JCP executive committee F2F meeting 2014 on the 13th & 14th of May as I am a JCP EC member, and delivered the following session:

1. United Nations UNHCR/WFP case study (JavaEE, JavaCard, JavaSE success story).

Trip to Ukraine

On 23th and 24th I had the opportunity for the second time, to attend and speak at JEEConf 2014 in Kiev, Ukraine. This is my one of the favourite conferences I like to attends and share my experience there as well. As I was there in 2013. Among speakers from Ukraine there were a lot from other countries like UK, USA, Switzerland, Germany, Egypt (me), Greece, Sweden, Poland, Netherlands and Russia etc.

Problems

All my friends, colleagues, and work managers advised me to not travel to Ukraine, because of the political situation it has, my only words to reply are:
We already had this experience in Egypt since three years ago, so there is nothing to worry about ☺.
I love Ukraine, especially Kiev, because I have many friends there from attendees, speakers (Victor Polischuk), colleagues from Ukraine JUG Andrii Rodionov as I am EGJUG lead and MoroccoJUG member so we attends many JUG events together, and EBAM employees Olena Syrota.

Therefore I felt that I was in my country and not as a foreign guy.

Hanging out

After my arrival by a day before the event, I have decided to hangout alone to see the city and take some pictures. Then at the hotel reception I have found my friends I have met last year from Oracle Russia Speakers (Alexey Fyodorov, Alexander Belokrylov, and Sergey Kuksenko) and others (Gleb Smirnov from Deutsche Bank, Russia) and finally Ivan Krylov from Azul Systems Russia, then we hanged out together to have a dinner a Ukrainian local restaurant.



Also we went to Khreschatyk Midan (Square), where the revolution began, and here are some pictures







My talks

I have attended many English sessions, and delivered the following sessions as well:

1- Yeah, TRUE real time web applications, no more hacks (a hack session).



2- Developing Native & Hybrid Android mobile Apps, with Netbeans 8.



The first talk (Developing Native & Hybrid Android mobile Apps, with Netbeans 8.) went okay and I have found a lot of interesting questions, and response from people.

But for the second talk (Yeah, TRUE real time web applications, no more hacks (a hack session)) there were many attendees about 100+, and I couldn't take one photo to tweet it, so I have decided to take a panorama one as the following.




It was very interesting to them, and I heard many times that the talk was the best of the day. It was a master session and there were many very good and interesting questions (around 40+ questions) to answer (Thanks God, you helped me to answer all the question and satisfies the attendees).

Therefore at the end of the session, I got many Thanks cards about 41+ cards. It was a great feeling the all attendees had the experience of the talk, mastered the topic, and the hack code (application) get their interest. download it from here, download the zip file from File --> Download, it is netbeans based project.

I think both talks received a warm welcome from the audience, but I cannot be the judge of that, of course. I have just written down what I have heard, got (Thanks cards), and seen from their faces ☺ actions.


Event and Organizers

Thanks for event organizers you did a tremendous work. The hotel was very nice providing excellent services, breakfast, speedy Internet, and complementary shuttle service to any location you would like (I have chosen to drive me to the airport).

Its location was very near from the city centre, and most popular locations, restaurants, and metro stations. The event could be reached by just 4 stations about 13 min from the hotel.

Here are some pictures from my room and hotel:





And I had this great and tasty berry pie in my breakfast at my last day for me at Ukraine


Really the event was very well organized and managed, although the country passes by critical political situation.

I need to mention that there were even lunch for attendees as well as speakers, and many interesting activities. I am so happy to be part of the event successful story.

I had the opportunity to hang out with many speakers, friends, and EPAM employees, and I have enjoyed also the guided tour to many interesting places in Kiev for around three hours with the following speakers Peter Ledbrook, Nicolas Fränkel, Evgeny Borisov and his wife.




Talk to publish

After my return I got message from EPAM Educational head manager on my LinkedIn profile, they asked about my Websocket talk link, to mention it in EPAM magazine in article about JEEConf to be one of the most interesting talk in JEEConf 2014.

My hope

Thanks for this year invitation and looking forward to be part of JEEConf 2015 ☺.


Thursday, March 13, 2014

JavaSE 7,8: Determining Views Supported by a Particular File System

If you have questions about a file or a directory, such as whether it is hidden, whether it is a directory, what its size is, and who owns it, you can get answers to those questions (and many others) from the metadata, which is data about other data.

NIO.2 associates the notion of metadata with attributes and provides access to them through the java.nio.file.attribute package. Since different file systems have different notions about which attributes should be tracked, NIO.2 groups the attributes into views, each of which maps to a particular file system implementation.

Generally, views provide the attributes in bulk through a common method, readAttributes(). In addition, you can extract and set a single attribute with the getAttribute() and setAttribute() methods, respectively, which are available in the java.nio.file.Files class. Depending On the view, other methods are available for additional tasks.

Here i will explain how with NIO.2 you can manage more details about files’ metadata than ever before. Attributes are divided into categories, and now they cover POSIX systems as well.

Before you attempt to access a view's attributes, make sure that your file system supports the corresponding view.

NIO.2 comes with a set of six views (Basic, Dos, POSIX, FileOwner, ACL and UserDefinedFileAttributeView).
  • POSIX (Portable Operating System Interface for UNIX).
  • All file systems support the basic view, so you should get at least the basic name in your output.

The supported views are:

  1. BasicFileAttributeView
    This is a view of basic attributes that must be supported by all file system implementations. The attribute view name is basic.
  2. DosFileAttributeView
    This view provides the standard four supported attributes on file systems that support the DOS attributes. The attribute view name is dos.
  3. PosixFileAttributeView
    This view extends the basic attribute view with attributes supported on file systems that support the POSIX (Portable Operating System Interface for Unix) family of standards, such as Unix. The attribute view name is posix.
  4. FileOwnerAttributeView
    This view is supported by any file system implementation that supports the concept of a file owner. The attribute view name is owner.
  5. AclFileAttributeView
    This view supports reading or updating a file’s ACL. The NFSv4 ACL model is supported. The attribute view name is acl.
  6. UserDefinedFileAttributeView
    This view enables support of metadata that is user defined.

Here are code snipets that shows different operations

  • Get all supported file system views

  • Check if the file store support a specific view
    You can test a particular view on a file store by calling the FileStore.supportsFileAttributeView() method. You can pass the desired view as a String or as a class name.

  • Check if a file store in which a particular file resides supports a single view
    Moreover, you can check if a file store in which a particular file resides supports a single view.


That all, have fun, if you like it share it.

Refrences:

Wednesday, December 4, 2013

JavaDay 2013: JCP & Adopt Kick off & What’s new in Java SE, EE, ME, Embedded world & new Strategy

"What’s new in Java SE, EE, ME, Embedded world & the new Strategy" and "Drive yourself, community with JCP & adopts to professionalism" sessions


I would like to share my successfully Java day story, and my happens by the response of my last event.

I have successfully ran a JCP Kick off session titled "Drive yourself, community with JCP & adopts to professionalism" 2 hours followed by a session titled "What’s new in Java SE, EE, ME, Embedded world & new Strategy" for also 2 hours, last Saturday (30/11/2013) in Cairo University.

What’s new in Java SE, EE, ME, Embedded world & new Strategy;
In this presentation, I have presented the history of Java EE from v1.0 to our latest Java EE 7.0, what is new and a brief introduction to each minor and major change to existing JSRs, and new JSRs with code to show simplifications and enhancements.

Also talked about our future Java EE 8 components alongside JDK 8 with major updates and JSRs, profiling concepts and more.

Lastly, I have explained the IoT concepts with demo. Intro to the importance of Java Embedded systems world. With intro to Raspberry Pi and dukePad.


Drive yourself, community with JCP & adopts to professionalism;
This is an overview presentation about JCP organization, its roles, process, and output. With a detailed explanation of each group role and their output. In addition, to encourage community to participate in JCP, and being valuable members and experience input to the community.


Agenda for both sessions:
http://egjug.org/page/java_ee_7_8_and_beyond

The attendees almost was Professionals, Students, Assistant teachers in Faculty of computer science and Doctors as well.

The main comments I got from all attendees via feedback by the end of sessions, via mails, Facebook, twitter, Google+, and LinkedIn was very positive the information they got also the content. They encourage participating in JCP program that I will lead under EGJUG.

In addition, I got a request to arrange with faculty teacher assistants to hold workshops, in their faculties sponsored by university for their students and assist teachers to get hands on experience on new Java technology as they interested to make it a curriculum in the future semesters of pre-graduate students, so the student can be ready for the market with latest tools.

I really was not except such a response but thanks God it was beyond my expectations.

With the co-operation with EGJUG, I will lead the JCP program, and we have created a participation form, collecting information to be used for participant evaluations to join the Group. And it will be sent with session materials.