Thursday, November 15, 2012

Meta-Annotations


Meta-Annotations

Meta-Annotations are an experiment in annotation inheritance, abstraction and encapsulation with a Java SE mindset
A meta-annotation is any annotation class annotated with @Metatype. The other annotations used on the meta-annotation become part of its definition. If any of those annotations happen to also be meta-annotations, they are unrolled as well and their annotations become part of the definition.

@Metatype

The recursion that is the meta-annotation concept only happens when an annotation is marked as a @javax.annotation.Metatype.
When @Metatype is seen the basic contract is "carry the surrounding annotations forward". When a class, method or other target uses an annotation annotated with @Metatype the annotations on that annotation are "unrolled" or carried forward and effectively placed on that class, method or other target as if they were explicitly declared.
If any of the annotations that are carried forward also are annotated with @Metatype the recursion continues. The result is a simple algorithm or design pattern that provides inheritance or reuse in a way that is not specific to any domain, API, or specification.
APIs and specifications can choose to formally adopt annotation reuse in this fashion, but the core concept and implementations of@Metatype do not need to be expanded to support these APIs or specifications.
The simple elegance of this not being domain specific is that it could be used to combine several annotations from different specifications into one reusable annotation. Say JAX-RS @PathParam("id") with Bean Validation @NotNull to create a new annotation called @ValidId.

Creating Meta-Annotations

If the annotation in question can be applied to ElementType.ANNOTATION_TYPE or ElementType.TYPE, creating a meta-annotation version of it is quite easy.
@TransactionManagement(TransactionManagementType.CONTAINER)
@Metatype
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface ContainerManagedTransactions {
}
When the annotation in question cannot be applied to ElementType.ANNOTATION_TYPE or ElementType.TYPE, things get interesting. This is where meta-annotations depart from things like @Stereotype. The goal of meta-annotations is to be completely generic and not specific to any one domain or API. A such, you cannot really require all existing APIs change to allow for meta-annotations. The goal is that meta-annotations can be used generically and do not need to be "designed" into an API.
To allow annotations that apply to FIELDMETHODPARAMETERCONSTRUCTORLOCAL_VARIABLE, or PACKAGE, as well as any other location where annotations may be applied in the future a compromise is made.
import javax.ejb.Schedule;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Metatype
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)

public @interface Daily {
    public static class $ {

        @Daily
        @Schedule(second = "0", minute = "0", hour = "0", month = "*", dayOfWeek = "*", year = "*")
        public void method() {
        }
    }
}
An inner class named $. This is enough to bind together the @Daily and @Schedule in the context to which they both apply.
Ugly but effective. Alternate proposals welcome.
The above is considered the public API portion of the meta-annotation concept.
The concept itself is born out of standards based systems like EJB and CDI where annotation processing is invisible to the application itself. In those settings the above is enough and no additional APIs would be needed to support meta-annotations in standard APIs.

Under the covers

The "guts" of this particular implementation is designed to look and feel as much like the reflection API as possible. Obviously, with VM level control, you could do much better. A clean Java SE API might be just what is needed and its very possible that meta-annotations should really be a Java SE concept.
Here's a glimpse as to how things can look under the covers:
final java.lang.reflect.AnnotatedElement annotated = new org.metatype.MetaAnnotatedClass(Triangle.class);
assertNotNull(annotated);

assertTrue(annotated.isAnnotationPresent(Color.class));
assertTrue(annotated.getAnnotation(Color.class) != null);
assertTrue(!contains(Color.class, annotated.getDeclaredAnnotations()));
assertTrue(contains(Color.class, annotated.getAnnotations()));
assertEquals("red", annotated.getAnnotation(Color.class).value());

assertTrue(annotated.isAnnotationPresent(Red.class));
assertTrue(annotated.getAnnotation(Red.class) != null);
assertTrue(!contains(Red.class, annotated.getDeclaredAnnotations()));
assertTrue(contains(Red.class, annotated.getAnnotations()));

assertTrue(annotated.isAnnotationPresent(Crimson.class));
assertTrue(annotated.getAnnotation(Crimson.class) != null);
assertTrue(contains(Crimson.class, annotated.getDeclaredAnnotations()));
assertTrue(contains(Crimson.class, annotated.getAnnotations()));
The application classes would look like so:
@Crimson
// -> @Red -> @Color
public static class Triangle {

}

@Metatype
@Color("red")
// one level deep
@Target(value = {TYPE})
@Retention(value = RUNTIME)
public static @interface Red {
}

@Metatype
@Red
// two levels deep
@Target(value = {TYPE})
@Retention(value = RUNTIME)
public static @interface Crimson {
}

Best Practices
It is recommended to have an api package or some other package where "approved' annotations are defined and to prohibit usage of the non-meta versions of those annotations. All the real configuration will then be centralized in the api package and changes to the values of those annotations will be localized to that package and automatically be reflected throughout the application.
An interesting side-effect of this approach is that if the api package where the meta-annotation definitions exist is kept in a separate jar as well, then one can effectively change the configuration of an entire application by simply replacing the api jar.

Future concepts

XML Overriding

The unrolling of meta-annotations happens under the covers. In that same vein, so could the concept of overriding.
The above @Red annotation might theoretically be overridden via xml as follows:

<org.superbiz.api.Red>
  <org.superbiz.api.Color value="dark red"/>
</org.superbiz.api.Red>
Or take more complex meta-annotation definition like the following:
package org.superbiz.corn.meta.api;

import javax.ejb.Schedule;
import javax.ejb.Schedules;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Metatype
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)

public @interface PlantingTime {
    public static interface $ {

        @PlantingTime
        @Schedules({
                @Schedule(month = "5", dayOfMonth = "20-Last", minute = "0", hour = "8"),
                @Schedule(month = "6", dayOfMonth = "1-10", minute = "0", hour = "8")
        })
        public void method();
    }
}
This might theoretically be overridden as:

<org.superbiz.corn.meta.api.PlantingTime>
  <javax.ejb.Schedules>
    <value>
      <javax.ejb.Schedule month="5" dayOfMonth="15-Last" minute="30" hour="5"/>
      <javax.ejb.Schedule month="6" dayOfMonth="1-15" minute="30" hour="5"/>
    </value>
  </javax.ejb.Schedules>
</org.superbiz.corn.meta.api.PlantingTime>

Merging or Aggregating definitions
Certain annotations take lists and are designed to be multiples. In the current definition of meta-annotations, the following is illegal.
@RolesAllowed({"Administrator", "SuperUser"})
@Metatype
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Admins {
}

@RolesAllowed({"Employee", "User"})
@Metatype
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Users {
}


public static class MyBean {

    @Admin
    @User
    public void doSomething() {
        // ...
    }
}
Here the @Admin and @User annotation each resolve to @RolesAllowed. Since only one @RolesAllowed annotation is allowed on the method per the Java language specification, this results in an error.
The intention is clear however and aggregating metadata together in this way is natural.
A theoretical way to support something like this is with an annotation to describe that this aggregation is intended and desired. Note the addition of the theoretical @Merge annotation.
@RolesAllowed({"Administrator", "SuperUser"})
@Metatype
@Merge
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Admins {
}

@RolesAllowed({"Employee", "User"})
@Metatype
@Merge
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Users {
}


public static class MyBean {

    @Admin
    @User
    public void doSomething() {
        // ...
    }
}
A new @RolesAllowed annotation would be created containing the list {"Administrator", "SuperUser", "Employee", "User"} and that would represent the final @RolesAllowed usage for the doSomething() method.

273 comments:

1 – 200 of 273   Newer›   Newest»
Yeroc said...

Like the idea but would it not be better to extend the existing CDI @Stereotype annotation to work like this rather than introducing a new annotation?

Monster said...

Hi. This is quite interesting, but without a license, most devs (including me) would stay away from your code. Could you please add a license in the Github repo?

Kathiresan Muthu said...

Hi this is Kathiresan i am having 3 years of experience as a dot net developer and i am certified. i have knowledge on OOPS concepts in .NET but dont know indepth. After learning android will be enough to get a good career in IT with good package? and i crossed Android Training in Chennai website where someone please help me to identity the syllabus covers everything or not??

Thanks,
kathiresan

Kathiresan Muthu said...

Hi this is Kathiresan i am having 3 years of experience as a dot net developer and i am certified. i have knowledge on OOPS concepts in .NET but dont know indepth. After learning android will be enough to get a good career in IT with good package? and i crossed Android Training in Chennai website where someone please help me to identity the syllabus covers everything or not??

Thanks,
kathiresan

Victoria John said...

Thanks for sharing this informative blog.. If anyone want to get HTML Training in Chennai please visit FITA academy located at Chennai, Velachery. Rated as No.1 training and placement academy in Chennai.

rebeka christy said...

Your blog is really useful for me. Thanks for sharing this informative blog. If anyone wants to get real time Oracle Training in Chennai reach FITA located at Chennai. They give professional and job oriented training for all students.

Martina Christy said...

Your blog is really useful for me. Thanks for sharing this useful blog..Suppose if anyone interested to learn Android Training in Chennai please visit fita academy which offers best Android Course in Chennai at reasonable cost.

Jenny Peter said...

Nice explanation .Its really superb.
Software Testing Training in Chennai | QTP Training in Chennai | Selenium Training in Chennai

christ evert said...

hi i hope to hadoop training in chennai |hadoop training chennai
really understand for this sites..hadoop training in chennai | hadoop training chennai

christ evert said...

hi,we have to posted for awesome information..hadoop training in chennai | hadoop training chennai

gopi best said...

Hi, i have to read for your full sites information oracle dba training in chennai very good information you having for sharing..Thanks a lot...oracle dba training in chennai

maxwell anderson said...

hi, i see that for your wonderful information..oracle dba training in chennaiAlso i am told him very good information you have for sharing Thank for that...oracle dba training in chennai

maxwell anderson said...

hi, i have to learning for lot informarion..oracle training in chennai
i need for learnin more this sites..oracle training in chennai

maxwell anderson said...

hi, very nice informative..oracle training in chennai | oracle training in chennai

glennparyy said...

Java training in Chennai

Stereotype is based fully on annotation Android training in chennai So we can easily bring up a full file IOS training in chennai

jessycharl said...

Java training in Chennai

Hi dude Android training in chennai Just we are in coding scripts IOS training in chennai Shall we describe it Android training in chennai

Jessycharl said...

Java training in Chennai

May this complement help others to mingle it Android training in chennai But later we got into main format regarding superficial ethics Java training in Chennai

Success Best said...

I have joined the oracle Trained in Training in Bangalore. Oracle Trainer will be teaching in practically Manner. So I can Easily able to understand the any Concept. This is very helpful for the interviews Purpose . I would refer my frnds to joined this institute. Visit Us, Oracle Training in Bangalore

Jenny Peter said...

Meta annotaqtion is new topic and its really helpful..Thanks.
Software Testing Training in Chennai | QTP Training in Chennai | Selenium Training in Chennai | Loadrunner Testing Training in Chennai

rebeka christy said...

Salesforce Training

The information you posted here is useful to make my career better keep updates..I did Salesforce Training in Chennai at FITA academy. Its really useful for me to make bright future in IT industry.

Salesforce CRM Training in Chennai | Salesforce Admin Training in Chennai | Salesforce.com Training in Chennai | Sales Cloud Consultant Training in Chennai

fathima m said...

welcome admin, hadoop training in chennai thanks a lot..i may need to truly perceive for oracle training in chennai this information..oracle dba training in chennai .So,We need to giving unmistakable information.i need to look at for this regions informarion..Awesome message..

fathima m said...

Since we have made the new tech to imagine the oracle training in chennai costs yet it directs a tad bit of concordant.Thank you so much.. oracle training in chennai .i may need to really see for this information..So,We need to giving unmistakable information.i need to take a oracle dba training in chennai gander at for this locales informarion..

joyce christopher said...
This comment has been removed by the author.
joyce christopher said...

Nice to blog. i have takeup training with in 2 months in besanttechnology at chennai. training session going on very well.Php training in chennai | oracle training in chennai | Oracle- dba- training in chennai

mathew delport said...

Thanks for your informative article. As the demand quality apps and games increases in the mobile market, there is huge demand for the android developers in the job market. It is recommended to go for Android training to boost his/her career prospects.

Victoria John said...

Java is one of the popular technologies with improved job opportunity for hopeful professionals. Java Training in Velachery helps you to study this technology in details.If you are looking for best Java Institutes in Chennai reach Fita academy.

dhanamlakshmi palu said...

Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing. Android Training in chennai | Android Training chennai | Android course in chennai | Android course chennai

john son said...

Thanks for your wonderful post.It is really very helpful for us and I have gathered some important information from this blog.If anyone wants to get Dot Net Course in Chennai reach FITA, rated as No.1 Dot Net Training Institutes in Chennai.

dhanalakshmi palu said...
This comment has been removed by the author.
dhanalakshmi palu said...

Your posts is really helpful for me.Thanks for your wonderful post. I am very happy to read your post. cloud computing training in chennai | cloud computing training chennai | cloud computing course in chennai | cloud computing course chennai

RS Trainings said...

Thanks for this valuable information.Oracle DBA Online Training is Useful for the Oracle developers.For more details Oracle DBA Training

Emi Jackson said...

Hi, This is Emi from Chennai. I have read your blog and I got some knowledge information. Really useful blog. Keep update your blog.

Regards...
Java Training Center in Chennai

stellen john said...

Very helpful to information sharing . now i completed my course java at chennai. please visited us@ Java Training Chennai

murali karthik said...

Excellent post!!! In this competitive market, customer relationship management plays a significant role in determining a business success. That too, cloud based CRM product offer more flexibility to business owners to main strong relationship with the consumers. Salesforce Training Institutes in Chennai | Salesforce Training in Chennai

Sathik Ali. A said...

Thanks for sharing the useful information. Excellent blog with many useful information about Mobile Apps Development. I am planning to do Android Training in Chennai and kindly please suggest me is the best place for Android Training . If any other iOS Training Institute in Chennai is their please let me know. Thanks for blog and thanks for reply guys.

Jamuna Pandy said...

Hi friends, This is Jamuna from Chennai. I am a technology freak. I have read your blog and got some valuable information from this blog. Your technical information is really useful for me. Keep update your blog.
Regards..
Oracle Training




kovalan Jayamurugan said...

Informative article!!! Being flagship too for Microsoft, Asp.Net is loaded with various essential tools that allow developers to build robust web applications. PHP Training

rebeka christy said...

Hi, I wish to be a regular contributor of your blog. I have read your blog. Your information is really useful for beginner. I did Software Testing Training in Chennai at Fita training and placement academy which offer best QTP Training in Chennai with years of experienced professionals. This is really useful for me to make a bright career.

john son said...

Thanks for sharing your innovative ideas..Its really useful and interesting...

Regards...

Salesforce Developer Training in Chennai

Victoria John said...

Thank you so much for sharing this informative blog. Your technical information is really useful for me. Keep update your blog.

Regards..

PHP Training Chennai

Emi Jackson said...

Your blog is really awesome and I got some useful information from your blog. This is really useful for me. Thanks for sharing such a informative blog. Keep posting.

Regards..
Cloud Computing Training in Chennai

raju kr said...

EMTV is Papua New Guinea’s Best Article news provider in countries. This channel is one of the most trusted sources of PNG news, PNG Local news, PNG Videos, PNG news Article & many more.

Papua New Guinea News

Martina Christy said...

Hi, Your blog is really very informative and useful for me. Thanks for sharing this valuable blog.
Regards..
Unix Training

Rafiq Abdul said...

Very...very useful Blog.Thanks for sharing
informatica training in chennai adyar with placement

Sathiya Narayanan said...

Thanks for sharing your innovative and useful ideas..i like your blog regards.
Get more ideas on peridotsystem by visiting:

<a href="http://www.peridotsystem.in/in chennai adyar with placement</a>

Roshini RS said...

Thanks for sharing; Salesforce crm cloud application provides special cloud computing tools for your client management problems. It’s a fresh technology in IT industries for the business management.
Regards,
Salesforce training in Chennai|Salesforce training institute in Chennai

Jennifer M said...

thanks for sharing your information. we are providing sap mm training in our institute. visit our website if you want to know the details of SAP.

best SAP ABAP training in chennai

Lucy H said...

Learn Linux Training in Chennai with Experts. We are Best Linux Training

Institute in Chennai. We are covering RHCE Linux Training from Beginner to

Advanced
Linux Server Training

in chennai

Lucy H said...

thanks for your knowledge share best data warehouse training in chennai
http://www.thinkittraining.in/bi-data-warehousing-training

Badrul Jaman said...

Excellent information ... for Objective-C Training in Chennai

Lakshmi said...

Vmware troubleshooting Training in chennai with placement. We plan the courses according to the current requirements to educate them in both theoretical and practical way.
view more:
http://www.vmwaretraining-chennai.in/vmware-troubleshooting.html

Lakshmi said...

Linux Training in chennai. we offered how use linux os , linux server training and training method both theory and practical way to teach.
view more:
http://www.linux-trainingchennai.in/corporate-training.html

peridot systems said...

Informatica Training in Chennai with real-time corporate professionals. We are providing practical oriented best Informatica training institute in Chennai
<a href="http://www.oraclesqltraining.in/home.html></a>

peridot systems said...

Learn Android, iOS training in Chennai. We offers Best Mobile Applications Training in Chennai.

Learn any Mobile Applications Training with us in Chennai
IOS training Institutes in

Chennai

jhansi joe said...
This comment has been removed by the author.
jhansi joe said...

This technical post helps me to improve my skills set, thanks for this wonder article I expect your upcoming blog, so keep sharing..
Regards,
Salesforce course in Chennai|Salesforce training chennai

Lily D said...

Excellent linux server institute in chennai with 100% placement with realtime IT legends with feasible fee .
We are covering Redhat Linux Training from Beginner to Advanced.
Linux Server Training in chennai

Lily D said...

Best VMWare Training in Chennai provided by Certified Professionals. We are the Best VMWare Training Institute in Chennai. Best VMWare Coaching Center Adyar
VMWare Training in Chennai

Lily D said...


IOS Training in Chennai provided by Certified Professionals. We are the Best IOS Training Institute in Chennai. Best IOS Coaching Center Adyar
IOS training Institutes in Chennai

peridot systems said...

Learn Cloud Computing training in Chennai with Placement. We offers Best Cloud Computing Training in Chennai
<a href="http://www.peridotsystems.in/salesforce-cloud-consultant-training-in-chennai.php>SalesForce Training in Chennai </a>

peridot systems said...



VMWare Vcloud Training in Chennai provided by Certified Professionals. We are the

Best VMWare Vcloud Training Institute in Chennai. Best VMWare Coaching Center

Adyar

www.vmwaretraining-chennai.in

peridot systems said...

We are the no.1 MSBI Training Institute providing MSBI Training in Chennai with 100% job placement by experienced Data Integration experts
<a href="http://msbitraining-chennai.in/module2.html>SSRS Training in Chennai</a>

peridot systems said...

We are the best IT training and placement institute in Chennai with training center in Adyar. Join us for IT training and placement
<a href="http://www.androidtraining-chennai.in/android-training-chennai.html>Android Training</a>

peridot systems said...

Meta annotations annotate an annotation. That is, annotation for another annotation. Following is the list.

1. @Retention
2. @Target
3. @Documented
4. @Inherited

java Training in Chennai

peridot systems said...

Spring 4 Meta Annotations Spring

META ANNOTATIONS DEFINED
CREATING COMPOSED ANNOTATIONS
ANNOTATION ATTRIBUTES--->@Repository("myOrderDao")
WRAP UP

Best Java Training in Chennai

peridot systems said...

Annotation Type:

@interface {
method declaration;
}

Meta Annotations:

@Target(ElementType.METHOD)
public @interface MethodInfo { }

Java Training institute in chennai

peridot systems said...

public @interface TestAnnotation
{
// Property Definition here.
}
- J2EE Training in Chennai

peridot systems said...

Java Annotations are also called Metadata. Annotations are introduced with JDK 5 onwards. Annotations allows us to add some form of metadata information into our source code, but it doesnot change the execution flow of the program. These annotations can then be processed at compile time by the compiler tools or during at runtime via Java Reflection. Classes, methods, variables may be annotated.

Best JAVA Training in Chennai

Narender Godara said...

Packers and movers Bareilly
Packers and movers Bathinda
Packers and movers Bhopal
Packers and movers Bhubaneswar

Stephen said...

There are lots of information about latest technology and how to get trained in them, like Hadoop Training Chennai have spread around the web, but this is a unique one according to me. The strategy you have updated here will make me to get trained in future technologies(Hadoop Training in Chennai). By the way you are running a great blog. Thanks for sharing this. FITA chennai reviews

sss said...

thanks for this wonder article.Informatica is such a course that requires learning the technological features of the product. visit our site for more details informatica online training in hyderabad

Regina Rj said...

This technical post helps me to improve my skills set, thanks for this wonder article I expect your upcoming blog, so keep sharing..
Php Course in chennai

sss lokesh said...

meta annotations , xml concepts are very use full ... excellent posts....

R u looking for the best salesforce traingin institute in hyderabad.... This is not only best for training .. for job's also... feel free to contact us to know more about the technology & the openings ....

Salesforce Training In Hyderabad

kovalan Jayamurugan said...

Thanks for your informative article on cloud technology. Salesforce Training in Chennai

kovalan Jayamurugan said...

Thanks for your informative article. Your blog is loaded with awesome information. Please include RSS field shat that we can receive your latest post direct to my inbox. Wordpress Course in Chennai

Jesica Paul said...

Excellent post!!! Your article helped to under the future of java development. Being an open source platform, java is integrated in most of the software development industries to create rich featured applications. Java Training in Chennai

Luke Hutchison said...
This comment has been removed by the author.
Luke Hutchison said...

Hi, I just added meta-annotation support to FastClasspathScanner, thought you might be interested.

Badrul Jaman said...

Excellent Information. Android is the booming technology by Google. If you want to be good in android technology must have knowledge in Java Domain. If you do Android Training in Chennai it will help you get successful career.

jackpeppin said...

Meta tag use very nice. now am also getting knowledge of meta description . we are taken all type of software training in banglaore .plese visit Java Training in Bangalore || Qtp Training in Bangalore

Isha Gupta said...

Excellent post!!! Your article helped to under the future of java development. Being an open source platform, java is integrated in most of the software development industries to create rich featured applications....
Java Training in Chennai

Isha Gupta said...

We are the best IT training and placement institute in Chennai with training center in Adyar. Join us for IT training and placement...
Oracle Training In Chennai

Isha Gupta said...

Thanks for sharing your innovative and useful ideas..i like your blog regards.
Get more ideas on Informatica by visiting: Informatica Training In Chennai

Isha Gupta said...

Thanks for sharing your innovative ideas..Its really useful and interesting..
Oracle Training In Chennai

Isha Gupta said...

Whatever we gathered information from the blogs, we should implement that in practically then only we can understand that exact thing clearly, but it’s no need to do it, because you have explained the concepts very well. It was crystal clear, keep sharing..
QTP Training in Chennai

Isha Gupta said...

Pega Training in Chennai
This post is really nice and informative. The explanation given is really comprehensive and informative..

Isha Gupta said...

SAS Training in Chennai
Thanks for sharing this informative blog. I did SAS Certification in Greens Technology at Adyar. This is really useful for me to make a bright career..

Isha Gupta said...

This information is impressive..I am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic..

Green Technologies In Chennai

Isha Gupta said...


Pretty article! I found some useful information in your blog, it was awesome to read,
thanks for sharing this great content to my vision, keep sharing..
Green Technologies In Chennai

Harshita said...

I have been following your posts regularly. It is very informative that I share it with my students.
Harshitha
QTP Training

Roshini RS said...

Thanks for this information; I hope it will use much reader who looking you regularly likes me…
Regards,
Angularjs training in chennai|Angular training chennai|Angular course in chennai

Revathi S said...

If wants to get real time Oracle Training visit this blog They give professional and job oriented training for all students.To make it easier for you Greens Technologies trained as visualizing all the real-world Application and how to implement in Archiecture trained with expert trainners guide may you want.. Start brightening your career with us Green Technologies In Chennai

Revathi S said...

Nice site.... refer this site also nice if Our vision succes!Training are focused on perfect improvement of technical skills for Freshers and working professional. Our Training classes are sure to help the trainee with COMPLETE PRACTICAL TRAINING and Realtime methodologies Green Technologies In Chennai

Revathi S said...

I also wanted to share few links related to sas training Check this sitete.if share indepth sas training.Go here if you’re looking for information on sas training. SAS Training in Chennai

Revathi S said...

This site has very useful inputs related to qtp.This page lists down detailed and information about QTP for beginners as well as experienced users of QTP. If you are a beginner, it is advised that you go through the one after the other as mentioned in the list. So let’s get started… QTP Training in Chennai,

Revathi S said...

This site has very useful inputs related to qtp.This page lists down detailed and information about QTP for beginners as well as experienced users of QTP. If you are a beginner, it is advised that you go through the one after the other as mentioned in the list. So let’s get started… QTP Training in Chennai,

Revathi S said...

Hi. Nice post. I am wondering if it is possible.Actually pega software that can be used in many companies for their day to day business activities it has great scope in future.if suggest best coaching center visit Pega Training in Chennai

Revathi S said...

fantastic presentation of informatica..if sharinng this session will describe near real-time architectures for accelerating the delivery of data to critical analytics and customer service applications in real world once again i want to share this sites Informatica Training in chennai

Revathi S said...

Job oriented Hadoop training in Chennai is offered by our institute. Our training is mainly focused on real time and industry oriented. We provide training from beginner’s level to advanced level techniques thought by our experts. Hadoop Training in Chennai

Revathi S said...

Hey, nice site you have here!We provide world-class Oracle certification and placement training course as i wondered Keep up the excellent work !Please visit Greens Technologies located at Chennai Adyar Oracle Training in chennai

Revathi S said...

if more information about oracle training visit Oracle Training in chennai we provide profesional experts trained with real-time scenario and job oriended also certification training .We Guarantee Your Oracle Training Success in Chennai

Jhon anderson said...

Cloud is one of the tremendous technology that any company in this world would rely on(cloud computing training institutes in chennai). Using this technology many tough tasks can be accomplished easily in no time. Your content are also explaining the same(Cloud computing training). Thanks for sharing this in here. You are running a great blog, keep up this good work.

Revathi S said...

I would recommend the Qlikview course to anyone interested in learning Business Intelligence .Absolutely professional and engaging training sessions helped me to appreciate and understand the technology better. thank you very much if our dedicated efforts and valuable insights which made it easy for me to understand the concepts taught and more ... qlikview Training in chennai

Revathi S said...

Thanks for sharing this informative blog .To make it easier for you Greens Techonologies at Chennai is visualizing all the materials about (OBIEE).SO lets Start brightening your future.and using modeling tools how to prepare and build objects and metadata to be used in reports and more trained itself visit Obiee Training in chennai

Arjun Singh said...

The town individuals from the existing decade are mostly the employees of the organizations who have several sections across the nation and abroad.
Packers and Movers Bangalore
Packers and Movers Pune
Packers and Movers Delhi
Packers and Movers Gurgaon

Arjun Singh said...

For them, even day to day actions tend to be stressful due to their tight schedules. In such scenario
Thanks for post this helpful post - Please visit for More information about -
Packers and Movers Hyderabad
Packers and Movers Mumbai
Packers and Movers Chennai
Packers and Movers Noida

Harshita said...

Hello Admin, thank you for enlightening us with your knowledge sharing. PHP has become an inevitable part of web development, and with proper PHP course Chennai, one can have a strong career in the web development field. We from Fita provide PHP course Chennai with the best facilitation. Any aspiring students can join us for the best PHP course Chennai.

Amirtha rao said...

Thanks for sharing this valuable post to my knowledge great pleasure to be here SAS has great scope in IT industry. It’s an application suite that can change, manage & retrieve data from the variety of origin & perform statistical analytic on it…
Regards,
sas training chennai|sas institutes in Chennai|sas training institutes in Chennai

Ravindra Reddy said...

Very nice articles,thanks for sharing.

Solaris Online Training

SQL and Plsql Online Training

SQL Server 2012 DBA Online Training

SQL Server 2012 Online Training

Tableau Online Training

Pooja Doss said...

There are lots of information about latest technology and how to get trained in them, like Best Hadoop Training In Chennai in Chennai have spread around the web, but this is a unique one according to me. he strategy you have updated here will make me to get trained in future technologies Hadoop Training in Chennai By the way you are running a great blog. Thanks for sharing this blogs..

Pooja Doss said...

I found some useful information in your blog, it was awesome to read, thanks for sharing this great content to my vision, keep sharing..
SalesForce Training in Chennai

Pooja Doss said...

Pretty article! I found some useful information in your blog, it was awesome to read,thanks for sharing this great content to my vision, keep sharing..
Unix Training In Chennai

Pooja Doss said...

This information is impressive..I am inspired with your post writing style & how continuously you describe this topic. After reading your post,thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic
Android Training In Chennai In Chennai

Pooja Doss said...

SAP Training in Chennai
This post is really nice and informative. The explanation given is really comprehensive and informative..

Pooja Doss said...

Oracle Training in chennai
Thanks for sharing such a great information..Its really nice and informative..

Pooja Doss said...

Selenium Training in Chennai
Wonderful blog.. Thanks for sharing informative blog.. its very useful to me..

Pooja Doss said...

Data warehousing Training in Chennai
I am reading your post from the beginning, it was so interesting to read & I feel thanks to you for posting such a good blog, keep updates regularly..

Pooja Doss said...

Whatever we gathered information from the blogs, we should implement that in practically then only we can understand that exact thing clearly, but it’s no need to do it, because you have explained the concepts very well. It was crystal clear, keep sharing..
Websphere Training in Chennai

Pooja Doss said...

Oracle DBA Training in Chennai
Thanks for sharing this informative blog. I did Oracle DBA Certification in Greens Technology at Adyar. This is really useful for me to make a bright career..

Harshita said...

I have been training students on AngularJS for past 6 months, and at times, I have used your blog as reference for the class training and also for my personal project development. It has been so much useful. Thank you, keep writing more :)
AngularJS training Chennai

amine lahragui said...

Your work is very good and I appreciate you and hopping for some more informative posts. happy new year 2016 new year 2016 bonne année 2016 happy new year 2016 images feliz año nuevo 2016 imagenes de año nuevo 2016 feliz año 2016

kovalan Jayamurugan said...

Excellent post on iOS mobile apps development!!! The future of mobile application development is on positive note. You can make most it by having in-depth knowledge on mobile application development platform and other stunning features. iOS Training in Chennai | iOS Training Institutes in Chennai

Saranya D said...

hai,i have to learned to lot of information about java Gain the knowledge and hands-on experience you need to successfully design, build and deploy applications with java.
Java Training in Chennai

Saranya D said...

Looking for real-time training institue.Get details now may if share this link visit
Spring Training in chennai
oraclechennai.in:

Saranya D said...

hybernet is a framework Tool which helps in Functional and Regression testing of an application. If you are interested in hybernet training, our real time working.
Hibernate Training in Chennai,hibernate training in Chennai

Saranya D said...

Nice site.... refer this site .if Our vision succes!Training are focused on perfect improvement of technical skills for Freshers and working professional. Our Training classes are sure to help the trainee with COMPLETE PRACTICAL TRAINING and Realtime methodologies.
Oracle Rac Training Chennai
haddoop:

Saranya D said...


Job oriented form_reports training in Chennai is offered by our institue is mainly focused on real time and industry oriented. We provide training from beginner’s level to advanced level techniques thought by our experts.
forms-reports Training in Chennai

sss lokesh said...

Great information about Meta-Annotations....

Tableau Training in Hyderabad For all those who want jobs on IT...... like Datawarehousing, contact us at::::::

Tableau Online Training

sss lokesh said...

Great information about Meta-Annotations....

Tableau Training in Hyderabad For all those who want jobs on IT...... like Datawarehousing, contact us at::::::

Tableau Online Training

Shashaa Tirupati said...

Thanks for the article. It has given me so much information that I shared with my students in the class. Come up with more such articles.
Shashaa
Dot Net training Chennai | Dot Net training Chennai | Dot Net training Chennai

SAM said...

Hi, Your blog is really very informative and useful for me. Thanks for sharing this valuable blog.

Manufacturers of Tents | Tents South Africa | Tents for sale | Tents Manufacturers | Tents South Africa | Alpine Tents | Aluminium Tents | Alpine Marquee | Plastic Chair

Vinoth Kumar said...

Wiztech Automation Solutions is the Best Training Institute in Chennai,started in the year 2006 and it Extended its circle through providing the best Education as per the Global Quality Standards. Hence our Training Center in Chennai was Recognized by IAO and ISO for its inspiring Education Quality Standards. Wiztech Automation Solution, the PLC SCADA Training Academy in Chennai offers both PLC, SCADA, DCS, VFD, Drives, Control Panels, HMI, Pneumatics, Embedded systems, VLSI, IT, Web Designing, AutoCad Training courses in chennai with latest various brands. Wiztech Automation Solutions offers Real Time Training Courses with 100% Placement support in chennai.

PLC Training in chennai
SCADA Training in chennai
Embedded Systems Training in chennai
VLSI Training in chennai
Automation Training in chennai
Industrial Automation Training in chennai
Process Automation Training in chennai
DCS Training in chennai
Inplant Training in chennai
Placement
PLC Course in chennai
Best PLC Training in chennai
PLC Training in chennai
Robotics Training in chennai
Embedded Training in chennai
IT Training in chennai
Web designing Training in chennai
AutoCad Training in chennai

Vinoth Kumar said...

Welcome to Wiztech Automation - Embedded System Training in Chennai. We have knowledgeable Team for Embedded Courses handling and we also are after Job Placements offer provide once your Successful Completion of Course. We are Providing on Microcontrollers such as 8051, PIC, AVR, ARM7, ARM9, ARM11 and RTOS. Free Accommodation, Individual Focus, Best Lab facilities, 100% Practical Training and Job opportunities.

Embedded System Training in chennai
Embedded System Training Institute in chennai
Embedded Training in chennai
Embedded Course in chennai
Best Embedded System Training in chennai
Best Embedded System Training Institute in chennai
Best Embedded System Training Institutes in chennai
Embedded Training Institute in chennai
Embedded System Course in chennai
Best Embedded System Training in chennai

Akash Singh said...

Thanks for post this helpful post - Please visit for More information about -
Packers and Movers in Gurgaon
Packers and Movers in Bangalore
Packers and Movers in Hyderabad
Packers and Movers in Pune

Akash Singh said...


Thanks for post this helpful post - Please visit for More information about -
Packers and Movers in Chennai
Packers and Movers in Bangalore
Packers and Movers in Hyderabad
Packers and Movers in Pune

Diya Patel said...

This information is impressive; I am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic..
Informatica Training in chennai | QTP Training in Chennai



Raju Kumar said...

thanks for sharing information,nice article
MSBI Training In Hyderabad

Santhiya said...

Really awesome blog. Your blog is really useful for me. Thanks for sharing this informative blog. Keep update your blog.
QTP Training in Chennai

Raksha said...

Hello Admin, thank you for the article. It has helped me during my Java training in Chennai. Fita academy is a Java training institutes in Chennai that provides training for interested students. So feel free to contact us to join our Java J2EE training institutes in Chennai.

Harini said...

Excellent information with unique content and it is very useful to know about the
information based on blogs.
Selenium Training in Chennai | QTP Training In Chennai

Srishthi B said...

Hello Admin, thank you for enlightening us with your knowledge sharing. PHP has become an inevitable part of web development, and with proper PHP training in Chennai, one can have a strong career in the web development field. We from Fita provide PHP course in Chennai with the best facilitation. Any aspiring students can join us for the best PHP training institute in Chennai.

Harish Yes said...

Thanks for providing the information with this post. Post is very nice! By the way, I want to share with you information about the best. packers and movers bangalore packers and movers bangalore marathahalli packers and movers marathahalli packers and movers hsr layout packers and movers btm layout packers and movers bommanahalli packers and movers whitefield packers and movers koramangala packers and movers jp nagar

Melisa said...

Thanks of sharing this post…Python is the fastest growing language that helps to get your dream job in a developing area. It says every fundamental in a programming, so if you want to become a expertise in python get some training on that language.
Regards,
Python Training in Chennai|Python Training|Python Training Institutes in Chennai|python training chennai

Harshita said...

Wow, brilliant article on dot net training in Chennai that I was searching for. Helps us a lot in referring at my dot net training institutes in Chennai. Thanks a lot. Keep writing more on dot net training Chennai, would love to follow your posts and refer to others in dot net training institute in Chennai.

Arjun kumar said...

Learning new technology would give oneself a true confidence in the current emerging Information Technology domain. With the knowledge of big data the most magnificent cloud computing technology one can go the peek of data processing. As there is a drastic improvement in this field everyone are showing much interest in pursuing this technology. Your content tells the same about evolving technology. Thanks for sharing this.

Big Data Training in Chennai | Big Data Course in Chennai | Big Data Training Chennai

Jhon anderson said...

Knowledge about the latest and vital technology would increase one's self esteem to the core at the time of lagging confidence. The content presented here is quite resembling the same. You have done a great job by sharing this in here.

JAVA Training in Chennai | JAVA Training | Best JAVA Training in Chennai | JAVA Course in Chennai

Mary Brown said...

Java EE article is practical oriented and real time examples. How Java EE address the enterprise development is very important. for that you need a practical orieneted Java Training you need.

Online Java EE Training
Online Java Training from India
Java Training Institutes in Chennai
Java Training in Chennai
Java Training

Rashmi D'souza said...

This post is really nice and informative. The explanation given is really comprehensive and informative..
Amazon Web Service Training In Chennai

Srishthi B said...

That is a brilliant article on dot net training in Chennai that I was searching for. Helps us a lot in referring at our dot net training institute in Chennai. Thanks a lot. Keep writing more on dot net course in Chennai, would love to follow your posts and refer to others in dot net training institutes in Chennai.

Akasha said...

very nice blogs!!! i have to learning for lot of information for this sites...
phonegap Training in Chennai

Raju Kumar said...


Spot on with this write-up, I absolutely believe this web site needs a lot more attention. I’ll probably be back again to read through more, thanks for the information!
Hadoop Online Training

Preethi Jas said...

This post is really nice and informative. The explanation given is really comprehensive and informative..
Amazon Web Service Training In Chennai

Ashwini Suresh said...

Hello admin, thank you for your informative post on hadoop training in Chennai. It helped a lot in training my students during our hadoop training Chennai sessions. We at Fita, provide big data training in Chennai for students who are interested in choosing a career in big data.

Ashwini Suresh said...

Thank you for this detailed article on web designing course in Chennai. It has been really helpful during my web designing training in Chennai, as I used the details in your web designing courses in Chennai as a reference to my students.

Raghu Sharma said...

Thanks for this blog, I'am very much delighted to say that this blog has helped me a lot in gain some extra knowledge.
Selenium training in Chennai|Selenium training|Selenium testing training in chennai|Selenium training chennai

Murali Rajesh said...

Very nice piece of article which can help many developers, thank you for sharing your knowledge with us. Keep sharing.
PHP training in Chennai||PHP course in Chennai ||PHP training institute in Chennai

varshini devi said...

Excellent Post, I welcome your interest about to post blogs. It will help many of them to update their skills in their interesting field.
Regards,
SAP training in chennai|sap training in Chennai|sap course in Chennai|SAP Training in Chennai

Akula Rahul said...

Latest Indian Govt Jobs 2016 Notification

Thank you for sharing such a nice post...............

Ramya Kolluru said...

Latest Govt Jobs Notification 2016

This is awesome blog with smart content, Nice to see your post. Thanks................

Jhon anderson said...

Website are the only way to execute a company's projects to their visitors. And it is mandatory to maintain a responsive one as well. Your content explicitly states that. Thanks for sharing this worth able article here. Keep up this good work.

Web designing course in chennai | Web design course | Web design training in chennai

Sukere seo said...

The subject of a very special thank you for this information .,,./,./,./
Bulk SMS | Bulk Email | Web Desgin | SEO |

Mathew Stephen said...

Interesting and worth able content is discussed here. The fact about current technology is explicitly stated over here. I do agree on your thoughts on how the influencers are taking advantage over emerging technology. Thanks for sharing this in here. Keep bloging like this.

Hadoop Training Chennai | Big Data Training | Big data training in Chennai

Raju Kumar said...


Great info. Lucky me I discovered your site by chance. I have saved it for later!
SAP APO Online Training

Murali Rajesh said...

Every coder prefers JAVA for development and it is also very trusted and reliable platform for web development and mobile application development.
Java training in Chennnai|Best Java training in Chennnai|Java training Chennai

Yasmin Priya said...

Thanks for sharing this informative post to our vision.
Regards
Oracle Apps Training in Chennai

Making Move said...

With best compliments from
https://www.makingmove.com/
Packers and Movers
Packers and Movers Ahmedabad
Packers and Movers Bangalore
Packers and Movers Chandigarh
Packers and Movers Chennai
Packers and Movers Delhi
Packers and Movers Hyderabad
Packers and Movers Kochi
Packers and Movers Kolkata
Packers and Movers Mumbai
Packers and Movers Pune
Movers and Packers India
Car Transportation
Two Wheeler Transportation

John Son said...

Hi, you have given really informative post. Thanks for sharing this blog. Suppose If anyone interested to get real time Big Data Training in Chennai reach us besant technologies, rated as no.1 IT training institute in Chennai.

Bay Max said...

Latest technology have created a greater impact over testing web applications. This vital in identifying important issues that raises in web appplications. Thanks for sharing this information in here. Keep blogging article like this.

Selenium training in chennai | Best selenium training institutes in chennai | Big Data Training Chennai

Akula Rahul said...

MPCDF Technician Assistant Grade 3 Recruitment 2016


First i would like greet author for providing valuable information given on blog..........

Bay Max said...

The one and only Operating system that is used widely by many around the world. Thanks for providing some useful information regarding the OS. This content was very helpful to me. Thanks for sharing. Keep blogging article like this.


Android training in chennai | Android course in chennai

Dhivya Shree said...

The main thing which i like about web designing is that itneeds creativity and we need to work differently acccording to our clients need this needs a creativity and innovation.
web designing course in chennai|web designing training in chennai|web designing courses in chennai

Murali Rajesh said...

After the website s completed it is very impoprtant to market it. Be it a brand or a website, if you want to reach a large audiece then effective marketive should done and this can be achieved by SEO.
Seo training in chennai|Seo training|Seo courses in chennai|Seo training chennai

Jhon Mick said...

I gone through your article, which was quite useful to me. I will surely implement the words stated above in my Java training in chennai.

Lyda Mannell said...

Crazy Bulk Australia 100% Safe and Legal Steroids
Approved by FDA, USA and manufactured under GMP certified facility

ioscare team said...

hai have a good day.....
i think this is useful for all of us..i am really enjoying when i reading.thanks for updating this informative article..
i am waiting for your upcoming article..i hope it will be come soon as possible...http://sonymobileservicecenterinchennai.in/

Niranjan R said...

Thank you so much... i didn’t have the knowledge in this now i get an idea about this.. thanks a lot:-)Professional Web designing Training in Chennai

Amirtha rao said...

Really useful information you have shared in this blog, Thank you :-)
Regards,
Oracle DBA Training in Chennai|Oracle Training Institutes in Chennai

Mervin Parmar said...

Nice article hoping to read more of these from you.

struts training in chennai|struts training|struts training center in chennai|struts course in chennai

geethu said...

Very interesting article thanks for sharing this blog.
Java training in Chennai .

Amit Kumawat said...


Jobsdekho We Helps To Finds Yous Dream Jobs...
All Kind Of Recruitment Of Exam Are Updates
All Exam call letter
Latest Updates Of Application Forms
All Exam Results

its really great information i m glad you to found this kind of website..

Amit Kumawat said...

hotel management colleges in jaipur,
best hotel management colleges in jaipur
hotel management courses
college of hospitality administration jaipur,
cha hotel management jaipur

Thank you sir And keep it up More Post And Its A Awesome Web page sir Thank You So Much ,

Amit Kumawat said...


CCTV CAmera in jaipur at Rajasthan
Home security system in jaipur
Wireless Home Security System in jaipur
Realtime attendance machine in jaipur
cctv camera dealer in jaipur
Hikvision DVR in jaipur at Rajasthan
security system solutions in jaipur

its really great information Thank you sir And keep it up More Post

Amit Kumawat said...

Website developing and updates

manigandan busy said...


It was really a wonderful article and I was really impressed by reading this blog.
Digital Marketing Link Builder

geethu said...

Thanks for posting such a interesting blog. If you are interested in taking java as professional carrier visit this website.JAVA Training in Chennai

geethu said...

Thanks for posting such a interesting blog. If you are interested in taking java as professional carrier visit this website.FITA Velachery

Murali Rajesh said...

Hi, actually I'am new to angularJs and infact I'am learning angularjs with online training. I'am having doubt, if you could solve the doubt for me that would be very helpful. The doubt is, how can I reset a “$timeout”, and disable a “$watch()”?
Regards,
angularjs training in Chennai|angularjs course in Chennai|Fita Chennai reviews

jhansi joe said...

Thanks for splitting your comprehension with us. It’s really useful to me & I hope it helps the people who in need of this vital information.
Regards,
FITA Academy Complaints|Informatica training in chennai|Best Informatica Training In Chennai|SAS Training in Chennai|Angularjs training in chennai

Savitha said...

Great post and informative blog.it was awesome to read, thanks for sharing this great content to my vision.
Informatica Training In Chennai
Hadoop Training In Chennai
Oracle Training In Chennai
SAS Training In Chennai

jhansi joe said...

I have searched ccna blog, here I had a chance to know some useful information about ccna certification, what I know about ccna is a complex exam similar with the cisco certified network associate routing & switching certification but through your post I am getting conglomerations of info’s about CCNA. Thanks for sharing this vital info’s about ccna.
Regards,
ccna training in Chennai|ccna training institute in Chennai|SAS Training in Chennai

jhansi joe said...

I have searched ccna blog, here I had a chance to know some useful information about ccna certification, what I know about ccna is a complex exam similar with the cisco certified network associate routing & switching certification but through your post I am getting conglomerations of info’s about CCNA. Thanks for sharing this vital info’s about ccna.
Regards,
ccna training in Chennai|ccna training institute in Chennai|SAS Course in Chennai

Jawad Zaib said...

Your Site Is Very Good and The Post is Well On Topic, Thanks for Sharing it with us.

New Songs 2016
Online Jobs In Pakistan 2016
Pakistan Super League 2016
First Time in Pakistan
apple iphone 7 video reviews
Quetta Gladiators Pakistan Super League 2016
very sad poetry in urdu 2016
New Romantic Songs 2016
where can i get copyright free music for youtube videos

Priya said...

Great content. I really enjoyed while reading this content with useful information, keep sharing.

JAVA Training in Chennai | Best Java Training Institute in Chennai | FITA Academy Chennai | FITA Training .

Savitha said...

Really awesome blog. Your blog is really useful for me. Thanks for sharing this informative blog. Keep update your blog.
Oracle Training In Chennai

Diya Patel said...

I am reading ur post from the beginning, it was so interesting to read & i feel thanks to you for posting such a good blog, keep updates regularly.Best Hadoop Training Institute In Chennai

Harini said...

very nice blogs!!! i have to learning for lot of information for this sites...Sharing for wonderful information.Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing.
Pega Training In Chennai

Akash said...

Movers and Packers in Hyderabad
Movers and Packers in Pune
Movers and Packers in Bangalore

Akash said...



Movers and Packers in Gurgaon
Movers and Packers in Mumbai
Movers and Packers in Delhi

Baba Adam said...

fffValentine Week 2016 Calendar
Valentine Week 2016 Calendar
Happy Valentines Day Messages for Boyfriend
Happy Valentine’s Day 2016 Wishes
Happy Teddy Day Wishes Images, SMS & Messages for Him Her, GF BF
Happy Kiss Day SMS in English

Murali Rajesh said...
This comment has been removed by the author.
«Oldest ‹Older   1 – 200 of 273   Newer› Newest»